Well if you're gonna get technical on me... sure I'm "removing stuff"... since we want to avoid changing the vanilla code directly, to "modify stuff" in it we can remove and replace. A fine example is "Block.blocksList[ x ]=null; Block.blocksList[ x ]=Block.myBlock;" Remove and replace my friend, now we have made a MODIFICATION so to speak. So instead of criticizing and saying stupid this, stupid that. Try to be a little more constructive and see the big picture in what I'm saying/asking instead of marking single lines or words. I understand that you mean well, and want to warn me of messing with stuff I don't fully grasp.
Hey, I like coding, I'm not an ace in any way. But I like to experiment, see what happens, see if it's possible, see what I can do. And if the program crashes, so be it, then I revert and try something else. So if I see an opportunity to improve something, I'll do it! And that includes Forge (to answer your question), if I see a way to improve it I would.
Pheew... this was a waste of time.... please, no more talk of this. I am aware that a program can crash or bug out with bad code. I learned that a looong time ago ... actually I would say that is the first thing you learn about coding. Then you learn to fix the bugs. And when it works, you get your rush. That's why we love programming, problem solving!
So anyway, no handy way of overriding e.g. the furnace GUI anyone?
Thank you for posting this question. I had found that I needed Block.blocklist[x] = this.myblock, but no where did it tell me anything about the Block.blocklist[x] = null. After finding this post I was able to make my custom sand, which acts exactly like normal sand, replace the vanilla sand. The only difference is that now the sand doesn't drop its self it drops my custom item.
Again thank you so much. Now on the my other issue that seems unsolvable. That is making a custom sapling grow my custom huge tree. In theory it should work the same as a jungle sapling, but it doesn't seem to be working.