Chisel

Chisel

150M Downloads

Crash due to Forge switching from Trove to FastUtils

legendblade opened this issue ยท 2 comments

commented

Issue Description:

As of Forge 2718 and later, due to PR MinecraftForge/MinecraftForge#4933, opening JEI with Chisel installed (and presumably being around a Chisel block) causes the following crash:

java.lang.ClassCastException: it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap cannot be cast to gnu.trove.map.hash.TIntObjectHashMap
	at team.chisel.ctm.client.model.ModelUtil.lambda$getMesh$0(ModelUtil.java:51)
	at java.util.Optional.map(Unknown Source)
	at team.chisel.ctm.client.model.ModelUtil.getMesh(ModelUtil.java:51)
	at team.chisel.ctm.client.model.AbstractCTMBakedModel$Overrides.handleItemState(AbstractCTMBakedModel.java:84)
	at net.minecraft.client.renderer.RenderItem.func_184393_a(RenderItem.java:243)
	at net.minecraft.client.renderer.RenderItem.func_184391_a(RenderItem.java:342)
	at net.minecraft.client.gui.inventory.GuiContainer.func_146977_a(GuiContainer.java:265)
	at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:98)
	at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(InventoryEffectRenderer.java:51)
	at net.minecraft.client.gui.inventory.GuiContainerCreative.func_73863_a(GuiContainerCreative.java:643)
	at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:368)
	at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1124)
	at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1117)
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:397)
	at net.minecraft.client.main.Main.main(SourceFile:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

What happens:

Opening JEI will immediately crash the game due the incompatibility between the two map implementations.

What you expected to happen:

Opening JEI should not crash, and blocks should be able to be placed.

Affected Versions

  • Minecraft: 1.12.2
  • Forge: 14.23.4.2729 (or any above 2718)
  • Chisel: 1.12.2-0.2.0.31
commented

Ah dangit. Sorry! I'd checked through the issues here to make sure it wasn't already reported and fixed; didn't think to check CTM because I'm apparently blind and completely missed the 'ctm' portion of that stack trace. :(

Thanks!