The bug:
In the string NBT tag BiomeOverride of level.dat, the game itself continues appending minecraft: namespace on this tag in the world’s level.dat after loading a world in game even if not valid or otherwise blank. This secretly affects every single legitimately created world’s level.dat in the game, including all survival, creative, hardcore worlds, etc. This level.dat bug could be a consequence of some recent update where biome identifiers have to be full namespaced identifiers rather than just simple worded strings anymore.
Steps to reproduce:
To observe what’s happening. Note the NBT editor tool is not actually saving any data by itself, it is just reading the Minecraft’s level.dat file:
Start any new world
Use NBT Studio to check the level.dat
Note the “minecraft:” in BiomeOverride. That is not a valid namespaced identifier.
Exit the world.
Use the Refresh function in NBT Studio to see what is actually happening in the world. No changes happen to BiomeOverride by the game.
Load the world again.
Use the Refresh function in NBT Studio to see what is actually happening in the world. Now BiomeOverride contains “minecraft:minecraft:” according to Minecraft’s changes.
Repeating steps 4 to 7, (impact happens at steps 6 and 7) BiomeOverride in level.dat will eventually be spammed with the “minecraft:” namespace, such as “minecraft:minecraft:minecraft:minecraft:minecraft:” for a world opened 5 times. After a world has been very heavy loaded before, the string tag will overflow and possibly become “minecraft:minecraft”, but won’t append “minecraft” to the string tag BiomeOverride any further.
Expected Result:
BiomeOverride should only append the “minecraft:” namespace under this one condition: If the BiomeOverride already has a word in there, that is matching a valid vanilla biome’s path in the registry (for example such as just “desert” in BiomeOverride, it becomes “minecraft:desert” )
If BiomeOverride is blank, it should be left blank.
If BiomeOverride has a valid, but custom namespaced identifier where the biome does not exist, or a biome with a custom namespace and custom path exists from an add-on, the value stays as is.
If BiomeOverride has a non-valid name spaced identifier already under these conditions:
such as for example, “/:/” or “minecraft:minecraft:minecraft” or “custom:custom:custom:” (examples of non-valid namespaced identifiers)
or a world spammed with the minecraft: namespace multiple times such as “minecraft:minecraft:minecraft:minecraft:minecraft:minecraft:minecraft:minecraft:”
or a world with a non existent biome with the minecraft namespace “minecraft:minecraft“ (If a world is heavily loaded and affected by this bug due to string tag overflow)
then BiomeOverride is cleared blank.
These expectations are there to support content creators using custom biomes but to also help all legitimate worlds already affected by the bug, as every legitimate loaded world in these affected versions would be affected already, and to prevent new worlds from being affected.
Observed result:
BiomeOverride continues appending minecraft: namespace on level.dat even if not valid or otherwise blank.
The bug won’t happen however if there is a valid name spaced identifier already edited there. (such as minecraft:desert or custom:my_biome)
Comments 6
This issue is not caused by a third party tool, this issue is 100% caused by the game. But you need a third party tool to inspect what’s going on.
This issue, MCPE-239593 is a valid issue. Others are affected by this bug as well, not just me.
Reports like MCPE-232678 are still valid as they are 100% caused by the game, even though you need third party tools to inspect what is going on.
Reports like MCPE-239171 are still valid as this crash is caused by the game, even though you need a third party tool, but only one value BiomeOverride needs to be modified to “minecraft:sulfur_caves” to reproduce that linked bug.
I do have some alternate steps as well:
Start a new world
Exit the world
Use a tool like NBT Studio to inspect the level.dat. Note the value “minecraft:” appears in the string tag BiomeOverride in the level.dat. Do not modify the level.dat.
Exit the tool.
Open the same world that was just created.
Exit the world.
Use a tool like NBT Studio to inspect the level.dat. Note the value “minecraft:minecraft:” in the string tag BiomeOverride in the level.dat. Do not modify the level.dat.
Exit the tool.
This proves the issue is 100% caused by the game and not the tool. Apparently MCQA [Baslod] seems to be wrong here… Could this ticket be reopened?
This is some knowledge I found in bug testing:
The number of times “minecraft:” has been appended to BiomeOverride in level.dat depends on the amount of times the world has been opened before. This can be used to estimate how many times a world was opened before, provided it doesn’t get modified or become edge cases such as “mi” or “minecraft:mi” in BiomeOverride.
The first time a world is created, “minecraft:” appears in BiomeOverride in level.dat, despite BiomeOverride otherwise being blank. Once the world is saved and exited, no changes are made by the game, allowing a player to observe the level.dat.
When the world is opened again, “minecraft” is appended again to BiomeOverride in level.dat. Then the value of BiomeOverride becomes “minecraft:minecraft:”. Once the world is saved and exited, yet no changes are made by the game, allowing a player to observe the level.dat.
Eventually, though once the world is opened so many times, like 3276 times before, then on the 3277th world load, BiomeOverride overflows to a string value called “mi”. This is due to data limitations. On the 3278th loading, the string value becomes “minecraft:mi”. If Mojang was to ever add a biome into the game with such an identifier, the world would become a single biome world. No further changes happen to BiomeOverride again after the 3278th loading of the world as a valid namespaced identifier is formed, even though the biome is nonexistent!
Thank you for your report!
However, this issue has been closed as Invalid.
Issues caused by third party tools are not supported on this bug tracker.
If you'd like to post a suggestion or give further feedback, please visit the Minecraft Feedback Site or choose a link below.
Quick Links:
📓 Issue Guidelines – 💬 Mojang Support – 📧 Suggestions – 📖 Minecraft Wiki