After a couple of days delay, today sees the release of Minecraft 1.13 snapshot 18W06A. Check out the link for a full list of the updates. For me, the most important thing by far is this short and sweet note by Nathan Adams (aka Dinnerbone):
We’ve spent the last few years (yes, years) rewriting the world generator completely from the ground up, and this snapshot finally has the first version that we have some kind of confidence in. It may not be much faster at first, but that’s because we’re playing it safe and want to just achieve “it works” before “it’s fast”. It might still be unstable, too, so watch out for that. It’s the very first snapshot with it in, after all!
Minecraft world generation, or more precisely, the speed of world generation – has been an issue with the game code for years (so much so various public projects of debatable merit sprung up trying to solve the issue using CPU core threading). Given the fact Adams’ alludes to years of work going into correcting this issue, it seems the remedial work required was no mean feat. While this release shouldn’t immediately speed things up, as the quote says, the ground work is now laid for this part of the game to be iterated on and improved over time.
If you’ve ever played on an SMP server and seen the cries of laaaag every time a player or two takes to the skies with an elytra, you might’ve experienced this bug. Chunk generation can be one of the most taxing computing tasks on a Minecraft server, compounded further by demands for faster generation by methods of transport like elytra. Of course, while new chunk generation is only one component of lag, it can be a biggie in certain scenarios.
The second awesome thing about the new terrain code is that users will (by 1.13 release time I expect) be able to alter what structures generate in vanilla world generation. Using JSON files, you’ll be able to insert new structures to generate randomly in your world, both offline and online. This opens up a myriad of possibility for vanilla play. Exciting times!
Oh, and if you were wondering, existing seeds *should* still generate in a similar fashion under the newly refactored code. Note – should – anything can happen in snapshots – use at your own risk.