Unlimited Chisel Works

Unlimited Chisel Works

5M Downloads

Shifting block IDs

NielsPilgaard opened this issue ยท 9 comments

commented

Heya.

It appears that adding this to existing worlds can cause item IDs to shift.

I added this to a test instance, and loaded up an old world with it, and all non-Minecraft blocks changed into other blocks.

Forced crash

commented

I've seen item IDs shifting in pretty much every combination of mods. In that case, restore from backup and try again until it clicks.

Could you please try without coremods? (In particular, out of that list, I'm wary of Farseek, the rest shouldn't affect this...)

commented

It still happens without Farseek unfortunately.

commented

Is it reproducible? If so, could you package me the modpack and world?

commented

I'd say so, but I need to do a little more testing. I'll package it up tomorrow.
You want the world before the ID shift happens, right?

commented

Yes.

commented

Here you go:
https://drive.google.com/open?id=0Bx0PHXshCZFqOFRYalhXLWJ1Zms

Let me know if there's anything else you need :)

commented

Not a bug.

[14:16:16] [Server thread/ERROR]: Exception reading /home/asie/.multimc/instances/ID Shifts/minecraft/saves/ID Shift World/level.dat
java.lang.RuntimeException: Invalid id 4096 - maximum id range exceeded.
at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:277) ~[forge-1.12.1-14.22.1.2485-universal.jar:?]
at net.minecraftforge.registries.ForgeRegistry.loadIds(ForgeRegistry.java:671) ~[forge-1.12.1-14.22.1.2485-universal.jar:?]
at net.minecraftforge.registries.GameData.loadFrozenDataToStagingRegistry(GameData.java:704) ~[forge-1.12.1-14.22.1.2485-universal.jar:?]
at net.minecraftforge.registries.GameData.lambda$injectSnapshot$24(GameData.java:647) ~[forge-1.12.1-14.22.1.2485-universal.jar:?]
at com.google.common.collect.HashBiMap.forEach(HashBiMap.java:528) ~[guava-21.0.jar:?]
at net.minecraftforge.registries.GameData.injectSnapshot(GameData.java:644) ~[GameData.class:?]
at net.minecraftforge.fml.common.FMLContainer.readData(FMLContainer.java:250) ~[FMLContainer.class:?]
at farseek.world.storage.package$.readData(package.scala:28) ~[package$.class:?]
at farseek.world.storage.package.readData(package.scala) ~[package.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleWorldDataLoad(FMLCommonHandler.java:421) ~[FMLCommonHandler.class:?]
at net.minecraft.world.storage.SaveFormatOld.loadAndFix(SaveFormatOld.java:119) [bfc.class:?]
at net.minecraft.world.storage.SaveHandler.func_75757_d(SaveHandler.java:122) [bfb.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71247_a(IntegratedServer.java:73) [chd.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:156) [chd.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]

^ You can find this in the log when the game complains about using a "backup level.dat". To put a long story short, you simply have too many blocks.

If you want to reduce the amount by a few hundred, you can disable Quark's slabs/stairs/walls completely in its config file, or reduce the amount of blocks UCW generates variants for in its own config file, or simply reduce the count of decorative mods. (You might need to do both.)

commented

(Except you apparently can't do that on a Forge world, due to a bug...)

commented

Huh, I thought the ID limit was removed.

Thank you for the help :)