Thaumic Augmentation

Thaumic Augmentation

7M Downloads

Construct's Armory conflict.

George0079 opened this issue ยท 10 comments

commented

When trying to render any completed armor piece from Construct's Armory, the game crashes. I have already tested this and found that this only happens with this mod.

I have already posted a similar report on Conarm's page, here: illusivesoulworks/constructsarmory#250

crash-2020-12-04_06.12.04-client.txt

commented

Was about to share the same issue.

commented

the latest version of the source fixes it.

commented

My guess is something to do with Morphic Armor. Thaumic Augmentations has a recipe that can disguise any armor as any other armor, but to do so a bit of code backend is required. So there's likely confusion between the two mods about what is expected from the armor during setup. If only I could recall how to add Construct's Armory items to the blacklist, we could rule this out pretty fast.

For the record, I have no idea who's mod is really at fault.

commented

That'll probably be an issue related to morphic armour somehow, the rendering stuff seems to be causing a lot of problems with other mods and their own armour sets.

commented

Yep this is an incompatibility with how I handle morphic armor. It looks like Tinker's Construct BakedToolModel has overrides that return an instance of of BakedSimpleItem, but it copies over those same overrides. They seem to only expect BakedToolModel instances to be passed, so it gets upset and crashes when it gets something else. This isn't really a Construct's Armory issue unfortunately, to make this work either Tinker's Construct would need to check the original model coming in before casting it, or I need to add another class of exemptions for models that should not be iteratively resolved.

Edit: also, the reason why I need to iteratively resolve models like that in the first place is to support special models that need to have handleItemState / applyOverrides called to work at all, as they rely on delegating to a different model that holds the actual quads.

commented

I have a feeling it's an unintended issue from Thaumic Augmentations, as that's the one that adds an entire item that deals with armor cosmetics.

commented

can confirm this is happening for me too, this didnt happen in the previous version before the invisible armour fix.
it currently means i cannot search "copper" in the creative menu because doing so will cause a crash. jei however can allow me to search but will cause a non crashing error

[18:16:34] [Client thread/ERROR] [jei]: ItemStack crashed getting IBakedModel. 1xitem.conarm.boots@0 conarm:boots nbt:{StatsOriginal:{Toughness:0.0f,FreeModifiers:3,Durability:299,Defense:8.0f},Stats:{Toughness:0.0f,FreeModifiers:3,Durability:299,Defense:8.0f},TinkerData:{Materials:["copper","copper","copper"],Modifiers:[]},Modifiers:[{identifier:"ambitious_armor",color:-1204473,level:1}],Traits:["ambitious_armor"]}
java.lang.ClassCastException: slimeknights.tconstruct.library.client.model.BakedSimpleItem cannot be cast to slimeknights.tconstruct.library.client.model.BakedToolModel
at slimeknights.tconstruct.library.client.model.BakedToolModel$ToolItemOverrideList.handleItemState(BakedToolModel.java:84) ~[BakedToolModel$ToolItemOverrideList.class:?]
at thecodex6824.thaumicaugmentation.client.model.MorphicArmorBakedModel$1.handleItemState(MorphicArmorBakedModel.java:88) ~[MorphicArmorBakedModel$1.class:?]
at mezz.jei.render.IngredientListBatchRenderer.set(IngredientListBatchRenderer.java:90) [IngredientListBatchRenderer.class:?]
at mezz.jei.render.IngredientListBatchRenderer.set(IngredientListBatchRenderer.java:71) [IngredientListBatchRenderer.class:?]
at mezz.jei.gui.overlay.IngredientGridWithNavigation.updateLayout(IngredientGridWithNavigation.java:62) [IngredientGridWithNavigation.class:?]
at mezz.jei.gui.overlay.IngredientListOverlay.updateLayout(IngredientListOverlay.java:152) [IngredientListOverlay.class:?]
at mezz.jei.gui.overlay.IngredientListOverlay.updateScreen(IngredientListOverlay.java:143) [IngredientListOverlay.class:?]
at mezz.jei.gui.GuiEventHandler.onDrawBackgroundEventPost(GuiEventHandler.java:68) [GuiEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_3738_GuiEventHandler_onDrawBackgroundEventPost_BackgroundDrawnEvent.invoke(.dynamic) [?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
at com.github.terminatornl.laggoggles.tickcentral.EventBusTransformer.redirectEvent(EventBusTransformer.java:67) [LagGoggles-1.12.2-5.8-132.jar:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) [EventBus.class:?]
at net.minecraft.client.gui.GuiScreen.drawDefaultBackground(GuiScreen.java:575) [blk.class:?]
at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:615) [bmp.class:?]
at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:396) [ForgeHooksClient.class:?]
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_271]
at net.optifine.reflect.Reflector.callVoid(Reflector.java:665) [Reflector.class:?]
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1457) [buq.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1119) [bib.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:3942) [bib.class:?]
at net.minecraft.client.main.Main.main(SourceFile:123) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_271]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]

however trying to interact with said items in jei will cause a crash.

commented

This should be fixed in the next update. I'm holding off releasing it for a bit to see if I can fix some Impetus linking issues someone is experiencing, but for anyone compiling from dev it should be good to go.

commented

nice, will compile and test.