Server crash with Railcraft when holding a Thruster with a blockstate higher than 11
Maxwell-lt opened this issue ยท 5 comments
FP version: Futurepack-1.12.2-26.4.89
I crafted a black/orange thruster, and immediately the server crashed. The server crashed again whenever I logged in.
Logs: https://gist.github.com/Maxwell-lt/28ae54f51a5c6697b0fa037d4a76f038
Digging into the problem, I discovered that the maxmeta
value passed to super()
in the constructor of BlockTriebwerk
is 11, instead of 14. This is likely the source of the problem.
at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_177226_a(BlockStateContainer.java:227)
at futurepack.common.block.BlockHoldingTile.func_176203_a(BlockHoldingTile.java:87)
at mods.railcraft.common.util.inventory.InvTools.getBlockStateFromStack(InvTools.java:488)
Railcraft is not using the correct methods here and assumes item metadata = block state metadata.
The Railcraft devs claim this is Futurepack's fault. I already submitted a PR against Railcraft that works around the issue, which was rejected.
Is it correct that BlockTriebwerk declares a maxmeta of 11, while it has states 0-14?
It has block states 0 to 11 including 0 and 11. But the items have meta 0 to 14 because of the colors. What Railcraft is trying todo here will always break. The would need to actually place the item down to get the correct block state out of it.