I've recently started on a mod dealing extensively with plants, and with a heavy focus on mod compatibility. To that end, I'm working on a function that, given an IPlantable, can get out information I need like what metadata means fully grown, what drops it has, etc. Unfortunately, this only works for plants that actually USE metadata- ie wheat type plants that grow within one block and drop different things depending on how grown they are. The difficulty comes with things like mushrooms and cacti. With plants like wheat, I could just call the getDrops method for all the metadatas and with various random seeds, and from there figure out when it stops growing. For something like cacti or mushrooms though, getDrops is worthless because the drops don't change. It seems to me like the only way to figure out if a plant grows is to basically call UpdateTick on it a bunch of times and see what happens. And herein lies my problem. Since, for example, mushroom growth actually depends on the world around it (eg must have a certain light level, must have an adjacent block that supports mushrooms), I can't just use an arbitrary point for the x,y,z parameters like I did for getDrops. From my understanding, I'd actually have to place it in world somewhere, with the right conditions, and see what happens. The parsing function is purely analytical though, and so it shouldn't actually change the world. So the options I see are as follows: make a new world object (seems like a terrible idea) and mess around in there instead of the real world, temporarily make arbitrary point in the world a testing area (possible, but something I have limited understanding of, and potentially either A. Is seen by the player B. Messes up some build or C. Generates new terrain), or somehow simulate an UpdateTick with ideal conditions, which would be nice but I don't really think is possible. So, with all that said, A. Is there a better method I'm missing, B. Is there some way to simulate UpdateTick without changing the world, and C. If not, what's the best way to get an area that is as yet untouched and is unable to be seen by any player?