Block name changes from 1.10.2 to 1.12.2 -- automatically correct in upgraded worlds?
ErikaRedmark opened this issue ยท 7 comments
This is something I encountered when updating a Modded Minecraft 1.10 world to 1.12.2, and subsequently all the mods as well. The chisel names for some blocks, like marble, used to be
chisel:marble1
chisel:marbleextra
At least they were in the 10.2 version. The newer one changes the ones that end with 'extra' to end with '2' instead. This meant any actual block with chisel:<name>extra
in the old world was completely absent when I moved it over.
I eventually took care of the problem (similar naming changes happened with a few other mods like Immersive) manually via NBT editing of the levels.dat to change the names to the new ones and surprisingly this worked well. However, If possible, I was wondering if perhaps the latest version of Chisel, and going forward later versions, can automatically detect old block/item names and update them if encountered making upgrading worlds a bit nicer?
We actually do correct a few changes like this, but I don't usually implement this between major versions. 99% of the time it's impossible to move a world with mods anyways. If you were able to fix the problem by editing the level.dat yourself, that's probably the best solution.
Hi Erika, I think I'm having the same problem when moving my Jurassicraft save from 1.10.2 minecraft to => 1.12.2.
I now have NBT editor and NBT explorer.
I'm able to see the contents of my levels.dat with NBT explorer, however I cannot find the Chisel entries you mentioned.
Is there any way you could breakdown the steps you took in more detail so I could follow along and make the same changes you did? Even if you could just tell me exactly which folder to look in would be awesome.
Thanks so much.
It is quite rare in my experience.
But the other factor is that MC 1.11 enforced lowercase IDs for all blocks/items, which resulted in just about every mod needing to change their IDs. It's probably the worst version ever for migration. That's specifically why I didn't see much need to worry about it this time around.
@ImJustAdad yes, that is correct. I pretty much went through everything ending in 'extra' and changed it to '2'. I did a similar thing with other mods. For instance, if I noticed a pattern where new names had underscores, I would assume the change for the rest. In the case of Immersive and multi block structures, that guess ended up surprisingly right enough to even bring my multiblock machines back.
Do not forgot to update the items too. They also need to be fixed or they (I guess, but I was too busy looking at world holes myself to check chests) would likely vanish from inventories.
@tterrag1098 not exactly in the modded field that much myself so I don't know how often people make new worlds vs upgrading existing ones, but it still seems like if there is anything that can be done to make an upgrade easier, especially something like updating old names in detected save data, I don't see why that would not be a welcome addition. Whilst I had to make some compromises in the world upgrade I did, the fact of the matter is -- the core of what it meant to be that world was still there. Is upgrading a world such an rare use case in the modded realm?
Ok I changed 'extra' -to-> 2 as seen here.
This is what my save looks like after changing 'extra' -to-> 2
And here are the chisel errors I'm seeing in a file called latest.txt
[21:42:18] [main/ERROR] [net.minecraft.client.renderer.texture.TextureMap]: Using missing texture, unable to load chisel:textures/blocks/ironpane/bars.png, java.io.FileNotFoundException
[21:42:18] [main/ERROR] [net.minecraft.client.renderer.texture.TextureMap]: Using missing texture, unable to load chisel:textures/blocks/ironpane/barbedwire.png, java.io.FileNotFoundException
21:42:21] [main/ERROR] [net.minecraft.client.renderer.texture.TextureMap]: Using missing texture, unable to load chisel:textures/blocks/ironpane/terrain-glass-thingrid.png, java.io.FileNotFoundException
[21:42:21] [main/ERROR] [net.minecraft.client.renderer.texture.TextureMap]: Using missing texture, unable to load chisel:textures/blocks/ironpane/spikes.png, java.io.FileNotFoundException
[21:42:21] [main/ERROR] [net.minecraft.client.renderer.texture.TextureMap]: Using missing texture, unable to load chisel:textures/blocks/ironpane/cage.png, java.io.FileNotFoundException
21:43:36] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
[21:43:36] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:purpurextra
[21:43:36] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:stonebrickextra
[21:43:36] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world thermaldynamics:thermaldynamics_32
[21:43:36] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world simplequarry:powered_quarry
[21:43:36] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world thermaldynamics:thermaldynamics_48
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world thermaldynamics:thermaldynamics_64
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:hardenedclayextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:endstoneextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:prismarineextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:bricksextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:limestoneextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:marbleextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world thermaldynamics:thermaldynamics_16
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world simplequarry:fuel_quarry
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:sandstoneredextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:bloodmagic
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:cobblestoneextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:sandstoneyellowextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world chisel:basaltextra
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world refinedstorage:processing_pattern_encoder
[21:43:37] [Server thread/INFO] [FML]: Registry Block: Found a missing id from the world thermaldynamics:thermaldynamics_0
[21:43:40] [Server thread/INFO] [FML]: Applying holder lookups
[21:43:40] [Server thread/INFO] [FML]: Holder lookups applied