Topic category: Troubleshooting, bugs, and solutions
I am working on a mod that re-adds removed, other version exclusive, and post 1.12 features, along with some from the spin off games. (Minecraft Earth, Dungeons, Storymode, and Biomes and Builders)
I'm currently trying to add the nether grass from 1.16 that you can see during MINECONE live 2019, while they show off the new biomes. I decided I should make it spread like grass does, since it is a nether version of grass. However, once I finished coding it I found a problem. Unloading the chunks, for leaving the world or just traveling a long distance would completely undo the spreading of the grass. Also, if you were to mine the spread grass with a silk touch it would drop netherrack, however if you were to mine the original block with a silk pick it would drop the grass, and to add insult to injury the random tick update it was set to spread on seemed to be no different from every tick update.
Here are some videos of the block's code, along with some of these things happening:
I may be wrong, so don't quote me on it. But I believe your problem might root from the first part of your procedure where you say if the block above it is not air, mushroom, other mushroom, or whatever the last thing is, then turn it into a netherrack. because what's happening is your block is undoing itself due to something in the procedure.
If that was the case this shouldn't be happening. Thanks for trying though.
I was trying to do something like this recently and found what was causing the issue. Apparently, MCreator has an issue with block updates in a procedure that's called on a randomTickUpdate. To avoid this, you have to find some other way of activating this process. (Tested in 1.14.4)