Fabric API

Fabric API

106M Downloads

Registry remap events are causing colliding IDs

LemmaEOF opened this issue ยท 19 comments

commented

I've now run into a few issues with folks playing with Epicurean Gastronomy running into Int2ObjectMap contained two equal IDs crashes when they try to load their world with the new Fabric API. I thought it might be something with Epicurean, but then OliviaTheVampire in the Fabric discord ran into it with their mods as well. It seems to be happening with real items along with the minecraft:air bug Epicurean's been running into. The crash only begins happening in builds 171 and above, so it's probably something with the new API.

Epicurean issue 1 (air)
Epicurean issue 2 (real item)

commented

any update on this issue / this also causes custom blocks not to be dropped when Epicurean is loaded in mod list

commented

The problem is that downgrading fabric does not solve this at all. It solves this bug, yes, but intoduces a lot of others. 50s builds tend to work, but some mods have no working GUI and 60s builds sometimes prevent dropping items when mining a block.

commented

CottonMC/Epicurean#20 (comment) Another instance found.

commented

I'm working on a PR that should hopefully make the error message a lot clearer, so that we can better see what's going on.

commented

hey @TimGoll @Luxley, could you try this version of Fabric API and send me the crash logs? It should get us one step closer to fixing it, since the logs will actually say what the real problem is.

commented

@el0c you too, please

commented

@Boundarybreaker

The game crashed whilst unexpected error
Error: java.lang.RuntimeException: Registry minecraft:item contained two objects with ID 1411 (net.minecraft.class_1093@1475c59c/1411 vs superores:super_platinum_ore/1411)!

crash-2019-06-06_18.06.48-client.txt

commented

Oh boy.

commented

That actually clears everything up. Thank you so much for helping!

commented

Whats the problem?

Enlighten my peanut brain!

commented

It's trying to map the block model registry and the item registry at the same time, causing their IDs to run into each other!

commented

Wait, hm. It looks like it's something else. Gonna make a new test build.

commented

@Luxley new one to try with, theoretically (it'll still crash but it should be more descriptive about why it's crashing)

commented

@Boundarybreaker

Sorry on the slowness

The game crashed whilst unexpected error
Error: java.lang.RuntimeException: Registry minecraft:item contained two objects with ID 1411 (net.minecraft.class_1093@319537bd/1411 vs superores:super_platinum_ore/1411)!

crash-2019-06-06_19.01.40-client.txt

commented

Ugh, it did't upload properly. New name so it doesn't collide!

commented

@Boundarybreaker
The game crashed whilst unexpected error
Error: java.lang.RuntimeException: Int2ObjectMap contained two objects with int ID 1411 (superores:super_platinum_ore/1411 vs superores:super_platinum_ore/1411)!
crash-2019-06-06_19.16.56-client.txt

commented

AH HA!

commented

that sounds great! @Boundarybreaker :D

commented

Flaw in Epicurean Gastronomy. Fabric will now correctly detect it and throw at the game load stage. o/