1.19.3 v6.4.10 Bumblezone worlds cannot load in newer 1.19.3 Bumblezone versions without editing level.dat file
SubSonicEr opened this issue · 9 comments
Hey there,
since Version 6.6.0 of "The Bumblezone" the Mod is breaking all the maps, which are created without this mod such as with this mod with a version below 6.6.0. The error is telling that allegdly the datapack has failed to load of the map but there is no datapack.
If you don't want to loose your map, there is a workaround. You can create a map with the same seed and configs with the version 6.6.+ of the mod and overwrite the "level.dat" of your map. But you will loose all your inventory and skill progress (used with mods) of your character.
Greetings
Hey there,
thx for the fast replay. I forgot to tell you the additional info. I'm using MC 1.19.3 with forge. When using "The Bumblezone" with version 6.4.10 everything works fine. I've created my map with version 6.4.10. Using 6.6.0 such as 6.6.1 will break my map.
I fixed my map with the workaround creating an identical map and overwriting the level.dat. If you need my used mods just tell me. I hope I can help you.
Greetings
When trying to export the world settings, MC is showing an error that a biome of The Bumblezone is bugged
@SubSonicEr i though I already tested old worlds and they worked for me as I added changes to try and load old level.dat save files for old Bumblezone data
I’m going to need more info than what you provided. What Mc version are you on? What modloader, and what Bumblezone version was the old world made in? (And what Mc version was the old world made in too)
also that “biome” is not a biome. It’s a biome tag that is suppose to be optional and can exist or not in the level dat file data. Old worlds do not have it hence why I tried to code it to be optional so old worlds can still load and then later get replaced and updated with the new dimension info later
The real workaround fix:
Is to delete the Bumblezone dimension entry from the level.dat file. Bumblezone will automatically create the dimension again with the proper data needed. Can be done with NBTExplorer
The issue is only specifically about the older pre-6.6.0 1.19.3 Bumblezone worlds. 1.19.2 does not have this issue. 1.19.2 Bumblezone worlds can be loaded just fine into 1.19.3 v6.6.0+ Bumblezone. It is only just v6.4.10 version that is the issue.
Technical explanation:
Mojang's parsing of the level.dat file for custom dimension is horrifying awful in every way imaginable. The issue is in v6.4.10 bumblezone, I made a typo in the Biome Source code. The constructor was reading the extra biome spawn info and assigning it to the main biome field and vice versa.
So the #the_bumblezone:extra_biomes_to_spawn entry was being put into the wrong field in the level.dat file.
That tag was removed and the extra biome field replaced with blob_biomes field. However, old worlds still keeps that #the_bumblezone:extra_biomes_to_spawn tag entry for main_biomes field and the game is flipping out because the #the_bumblezone:extra_biomes_to_spawn tag no longer exists so it cannot pase that entry of level.dat file anymore.
Deleting the entire bumblezone dimension entry from the level.dat file fixes the issue because then the game can recreate that dimension entry from scratch with the proper info.
Still looking into a solution for my mod to bypass this issue entirely but having great difficulty right now.
I use NBTExplorer which can be downloaded here: https://github.com/jaquadro/NBTExplorer/releases
Hey there thx for this solution and the nice contact. With which tool do you edit the level.dat file?
Edit: I was blind. I saw it by myself :D It's NBTExplorer :D
Thx again for your help with this issue. I think this will help me in many other problems caused by mods :) Really big thx.