The bug
When optimizing old worlds (e.g. from Minecraft 1.0) their data is deleted.
Expected would be either, that
optimizing includes upgrading (if necessary)
optimizing older / unknown versions is not supported
the warning text on the "Optimize World" screen is clearer and only shown when optimizing an older world, see MC-181274
How to reproduce
Create a world in Minecraft 1.0 or download
Open the latest version and in the world selection, click "Edit"
Select "Optimize world"
:info: Note that the world now shows the current version as version on the world selection screenOpen the word
❌ You are spawned in the middle of the ocean (you should be in a swamp)
Linked issues
is blocked by 1
relates to 1
Attachments
Comments 7
I'm pretty sure what happens is the game doesn't recognize the McRegion level format and so just doesn't deal with it at all and instead just generates a new world entirely. The game should ideally convert any McRegion worlds to Anvil when a player uses the Optimize World option before it does anything else.
Seems like the game completely ignores the old *.mcr files.
It doesn't delete the old files, and you should still be able to play it when put back into 1.0.
Can confirm in 1.17.1. You are spawned in what seems to be a swamp but is actually a deep ocean biome.
I don't think this is an issue anymore since for example 1.18.2 now no longer allows you to load or optimize the world, but tells you to load it in an older version instead.
Please test by creating an old world, placing a user placed block then upgrading, I believe the user placed block will remain, the rest of the terrain is world seed generated, due to the changes in seed format to add biomes the original spawn seed will be different between versions accounting for your swamp to ocean change, as placed blocks are stored seperately to keep the world size down the placed block should remain in situ.
This also happens between using a 32 bit seed on bedrock and the same seed in the 64 bit java version, since the output is different.
A fix could be done by noting the limited biomes for the explored area and optimising for that limited number then allowing exploration the full extent of biomes beyond the explored area.
Or for a really old world convert whole chunks to placed blocks for format optimization, takes more storage but would keep older terrain.
A final option would be to class old explored biomes as classic biomes, overriding the new biomes when optimised.