Please close/resolve this bug as FIXED.
I just tested it with MC 1.7.10 and it appears to be working again.
Thanks!
🙂
Wonderful. Thank you. I look forward to having a stable API! 🙂
I wish I knew. The basic problem is that Forge is so far behind the releases that it is impossible to give a timely update. I know the guy in charge of Forge is difficult (cough, cough) to work with, but they and MCP seriously need some help with staying current with the latest Minecraft versions. Could you do the modding community a big favor and just release a few huge swaths of code in source form for them? They need help. Modders need help. I'd absolutely love to contribute to helping Minecraft find and fix bugs, but it's impossible when I'm half a dozen releases behind.
PLEASE reopen. World.setBlock() has degraded in performance to the point where it is unusable.
I have just recently updated the OreSpawn mod to 1.7.4. This gave me the opportunity to try out the latest setBlock() function. The results are absolutely dismal.
To get around a huge lag problem in 1.6.4, I had realized that performing my small decorations inside chunk creation was infinitely faster than doing the decorations in the "proper" place in the world generation function. This is because the chunk is sent out as, well, one big chunk. This is hundreds of times more efficient than sending thousands of little setBlock() updates. So I took the time to more all my small decorations and ore generation into the chunk generators for my dimensions. It worked fantastically. No more network/CPU overload.
Using this same optimized code, I updated to 1.7.4. While the chunk generation is still fast, the remaining setBlock() calls are at least a factor of 100 slower. And that is without lighting, still using my optimized versions from 1.6.4 which bypassed it. In fact, the 1.7.4 setBlock() is now so slow as to make the giant tree and island generation for which my mod is known, impossible. It is unplayable. And that is on my high-end development machine.
In short: setBlock() has become so slow as to be completely dysfunctional when needing to set more than 10 blocks per second. Indeed, it is a factor of at least 10 times slower than the previous version (1.6.4) which was already painful. Now it is unusable.
It is taking far longer to find out than I had anticipated...
Please close this bug, and if it is still a problem whenever it is that I am finally able to upgrade, I will file a new one.
Sorry for the delay, but as you know, no one has been able to upgrade their mods to 1.7.x yet.
I hope future upgrades will go a little more smoothly.
And please prod someone over there to get cracking on the modding API...
Thanks!
🙂
Unfortunately, it is taking MCP and Forge a looooooong time to update to the 1.7.2 sources, and so I can't test it yet (I build on the Forge platform, which I realize has it's own set of problems). I just wanted to make you aware that there was, at least in 1.6.4, a factor of tens of thousands difference in setblock() with and without lighting. I will report back again when I have 1.7.2 sources and have updated my own sources, and can test once again.
Thank you for responding, and not just tossing this bug aside. I'm a long-time (30+ years!) code-speed freak, so I notice these things... 🙂
@Preston - It would not let me select 1.7.10 or anything other than 1.8. I tried...
@fienxjox - without mods, MC would have disappeared long ago. You DO need to support modding, or the game will fizzle out just like every other game in history. That would be sad. Modders keep the new content coming, and hence the game, alive.