Property Modifier

Property Modifier

2M Downloads

[1.16.5-0.5.5] Crash when trying to repair items with certain forge item tags on an anvil.

Thombias opened this issue ยท 4 comments

commented

Title basically describes the whole thing already. I wanted to make it so that any fire dragon scales from the ice and fire mod can be used as repair material on any fire dragon scale armors. But doing so crashes the game.
I wrote down the entry on the repair_material section exactly how the forge item tag appears on the item tooltip after pressing F3+H.

I had this crash happen with forge:ingots/copper before but after trying it again it didn't crash, so i guess i was just being dumb. I was able to repair the a copper sword from ice and fire with 2 different copper ingots.

Anyway, here's the fatal error from the log and a little further down i put my crash-log file for download. (To avoid making this post way too large)

Reported exception thrown!
net.minecraft.crash.ReportedException: Container click
at net.minecraft.client.gui.screen.Screen.func_231153_a_(Screen.java:434)
at net.minecraft.client.MouseHelper.func_198023_a(MouseHelper.java:85)
at net.minecraft.client.MouseHelper.func_228030_c_(MouseHelper.java:181)
at net.minecraft.client.MouseHelper$$Lambda$11288/1142251294.run(Unknown Source)
at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(ThreadTaskExecutor.java:111)
at net.minecraft.client.MouseHelper.func_228028_b_(MouseHelper.java:180)
at net.minecraft.client.MouseHelper$$Lambda$10983/293857618.invoke(Unknown Source)
at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36)
at org.lwjgl.system.JNI.invokeV(Native Method)
at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3101)
at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:102)
at net.minecraft.client.MainWindow.func_227802_e_(MainWindow.java:398)
at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:996)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607)
at net.minecraft.client.main.Main.main(Main.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51)
at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$479/1424043852.call(Unknown Source)
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54)
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72)
at cpw.mods.modlauncher.Launcher.run(Launcher.java:82)
at cpw.mods.modlauncher.Launcher.main(Launcher.java:66)
Caused by: java.lang.IllegalStateException: Tag forge:scales/firedragon used before it was bound
at net.minecraft.tags.TagRegistry$NamedTag.func_232944_c_(TagRegistry.java:131)
at net.minecraft.tags.TagRegistry$NamedTag.func_230236_b_(TagRegistry.java:146)
at net.minecraft.item.crafting.Ingredient$TagList.func_199799_a(Ingredient.java:272)
at net.minecraft.item.crafting.Ingredient.lambda$new$4(Ingredient.java:47)
at net.minecraft.item.crafting.Ingredient$$Lambda$2607/404677139.test(Unknown Source)
at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449)
at net.minecraft.item.crafting.Ingredient.(Ingredient.java:47)
at net.minecraft.item.crafting.Ingredient.func_209357_a(Ingredient.java:153)
at net.minecraft.item.crafting.Ingredient.func_199805_a(Ingredient.java:174)
at ihh.propertymodifier.ConfigUtil.lambda$parseRepairMaterial$0(ConfigUtil.java:190)
at ihh.propertymodifier.ConfigUtil$$Lambda$11501/1871096878.get(Unknown Source)
at net.minecraft.util.LazyValue.func_179281_c(SourceFile:16)
at net.minecraft.item.ArmorItem.handler$zki000$getIsRepairable(ArmorItem.java:527)
at net.minecraft.item.ArmorItem.func_82789_a(ArmorItem.java)
at com.natamus.fixedanvilrepaircost.events.RepairEvent.onRepairEvent(RepairEvent.java:22)
at net.minecraftforge.eventbus.ASMEventHandler_1065_RepairEvent_onRepairEvent_AnvilUpdateEvent.invoke(.dynamic)
at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85)
at net.minecraftforge.eventbus.EventBus$$Lambda$2612/146777572.invoke(Unknown Source)
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302)
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283)
at net.minecraftforge.common.ForgeHooks.onAnvilChange(ForgeHooks.java:723)
at net.minecraft.inventory.container.RepairContainer.func_82848_d(RepairContainer.java:104)
at net.minecraft.inventory.container.AbstractRepairContainer.func_75130_a(SourceFile:80)
at net.minecraft.inventory.container.AbstractRepairContainer$1.func_70296_d(SourceFile:26)
at net.minecraft.inventory.Inventory.func_70299_a(SourceFile:136)
at net.minecraft.inventory.container.Slot.func_75215_d(Slot.java:61)
at net.minecraft.inventory.container.Container.func_75135_a(Container.java:549)
at net.minecraft.inventory.container.AbstractRepairContainer.func_82846_b(SourceFile:123)
at net.minecraft.inventory.container.Container.func_241440_b_(Container.java:255)
at net.minecraft.inventory.container.Container.func_184996_a(Container.java:160)
at net.minecraft.client.multiplayer.PlayerController.func_187098_a(PlayerController.java:379)
at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_184098_a(ContainerScreen.java:539)
at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_231044_a_(ContainerScreen.java:336)
at net.minecraft.client.gui.screen.inventory.AnvilScreen.func_231044_a_(SourceFile:615)
at net.minecraft.client.MouseHelper.func_198033_b(MouseHelper.java:87)
at net.minecraft.client.MouseHelper$$Lambda$13232/989566722.run(Unknown Source)
at net.minecraft.client.gui.screen.Screen.func_231153_a_(Screen.java:427)
... 25 more

crash-2021-09-11_23.18.40-client.txt

commented

By debug.log do you mean this? (The log file found in the logs folder in .minecraft?)
2021-09-11-4.log

My config has changed a little, but i tried to replicate the entry in the new config.
You can easily find the entry in the config with F3+F and then type in "forge:scales/fire_dragon" it's the only one in this config using this specific item tag.

But the weird thing now is that the game no longer crashes when i try to repair the helmet with fire dragon scale that has the forge:scales/fire_dragon item tag.
Instead now i only get a "Could not find forge:scales/fire_dragon" error message in the game log output, it used to crash before. The anvil also doesn't show that repairing this item is possible.

I'm still on mod version 0.5.5 however. Sorry, i haven't gotten around to update the mod because i tend to copy all the entries and changes from the old config to the new one to avoid stuff from breaking and keeping my configs as error free as possible. If you need this for the newer version, i can try to provide you the necessary files, but not right now. I need some time to copy-paste everything from the old to the new config.

Anyway, here's the config. (Had to put it in a ZIP because Github doesn't support .toml files)
Property Modifier 0.5.5 Config.zip

commented

I don't expect the newer versions to fix that.

Anyway, you used forge:scales/firedragon in the first log, not forge:scales/fire_dragon.
Also, you need to check if the item can actually be used to repair; JEI currently doesn't display it properly.

commented

Sorry for the late reply.

Could I see your config file and your debug.log for this, please?

commented

Closed due to inactivity.