Closed OcrSu closed 9 months ago
just a missing empty check! should be fixed in 2.6.1
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at folk.sisby.tinkerers_smithing.TinkerersSmithingLoader.ingredientId(TinkerersSmithingLoader.java:331) ~[tinkerers-smithing-2.6.1+1.20.jar:?]
at folk.sisby.tinkerers_smithing.recipe.ShapelessRepairRecipe.<init>(ShapelessRepairRecipe.java:35) ~[tinkerers-smithing-2.6.1+1.20.jar:?]
at folk.sisby.tinkerers_smithing.recipe.ShapelessRepairRecipe$Serializer.read(ShapelessRepairRecipe.java:105) ~[tinkerers-smithing-2.6.1+1.20.jar:?]
at folk.sisby.tinkerers_smithing.recipe.ShapelessRepairRecipe$Serializer.method_8122(ShapelessRepairRecipe.java:93) ~[tinkerers-smithing-2.6.1+1.20.jar:?]
at net.minecraft.class_2788.method_17817(class_2788.java:45) ~[client-intermediary.jar:?]
at net.minecraft.class_2540.method_34068(class_2540.java:218) ~[client-intermediary.jar:?]
at net.minecraft.class_2540.method_34066(class_2540.java:231) ~[client-intermediary.jar:?]
at net.minecraft.class_2788.<init>(class_2788.java:22) ~[client-intermediary.jar:?]
at net.minecraft.class_2539$class_4532.method_22310(class_2539.java:459) ~[client-intermediary.jar:?]
at net.minecraft.class_2539.method_10783(class_2539.java:522) ~[client-intermediary.jar:?]
at net.minecraft.class_2543.decode(class_2543.java:32) ~[client-intermediary.jar:?]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:519) ~[netty-codec-4.1.82.Final.jar:?]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:458) ~[netty-codec-4.1.82.Final.jar:?]
just a missing empty check! should be fixed in 2.6.1
it happens ag....
client log here
Seems like there are ingredients that are empty on the client but populated on the server - not sure which mod causes this to happen, so in 2.6.2 we've changed it to log an error instead of crash - could you try that and upload a full latest log to https://mclo.gs/ ?
Seems like there are ingredients that are empty on the client but populated on the server - not sure which mod causes this to happen, so in 2.6.2 we've changed it to log an error instead of crash - could you try that?
OK , i will try it now
ModVersion2.6.1: https://mclo.gs/yWTFUH6
Seems like there are ingredients that are empty on the client but populated on the server - not sure which mod causes this to happen, so in 2.6.2 we've changed it to log an error instead of crash - could you try that and upload a full latest log to https://mclo.gs/ ?
ModVersion:2.6.2 https://mclo.gs/2wmkmhO
I successfully entered the server, here is the client log
Ingredients for Tinkerer's Smithing recipes can't be empty! When repairing item minecraft:wooden_pickaxe
ServerLog: https://mclo.gs/Sl0Tbnz
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/wooden_pickaxe/planks!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/wooden_axe/planks!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/wooden_hoe/planks!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/stone_shovel/stone_tool_materials!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/wooden_shovel/planks!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/shield/planks!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/stone_pickaxe/stone_tool_materials!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/stone_sword/stone_tool_materials!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/wooden_sword/planks!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/stone_hoe/stone_tool_materials!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/bakery/rolling_pin/planks!
[08:32:16] [Netty Server IO #2/ERROR]: No matching stacks while serializing repair recipe tinkerers_smithing:repair/stone_axe/stone_tool_materials!
Seems like it happens for items that have tag ingredients - so #planks and #stone_tool_materials - in the server log, are there errors logged on login saying that stacks are empty while serializing?
Seems like it happens for items that have tag ingredients - so #planks and #stone_tool_materials - in the server log, are there errors logged on login saying that stacks are empty while serializing?
Only errors like this..
No matching stacks while serializing repair recipe tinkerers_smithing:repair/wooden_pickaxe/planks!
Yep okay that's the one - this error occurs when a mod tries to access the contents of a tag ingredient before it's loaded in - I'll try find out how that might be happening.
I couldn't find which mod is the culprit by guessing, and this behaviour definitely breaks those recipes - so I've cooked up a special jar for you to use:
tinkerers-smithing-2.6.2+1.20.jar.zip
it should log a completely new error on the server ([Tinkerer's Smithing] A footgun was fired!
) when a mod tries to access ingredient stacks at the wrong time, and the trace should help us find out who it is.
released as 2.6.3 - try that version.
released as 2.6.3 - try that version.
I tried version 2.6.3. My server is stuck in the startup phase (after loading the terrain). ServerLog:https://mclo.gs/vfy6zG1
Yep, so that's betternether accessing material repair ingredients at init time, well before tags are loaded. I think it's only accessing its own ingredients, and none of them use tags - so that's actually okay. So i'm going to make the anti-footgun mixin make sure there's a tag entry before it intervenes. Try out 2.6.4.
Yep, so that's betternether accessing material repair ingredients at init time, well before tags are loaded. I think it's only accessing its own ingredients, and none of them use tags - so that's actually okay. So i'm going to make the anti-footgun mixin make sure there's a tag entry before it intervenes. Try out 2.6.4.
ClientLog:https://mclo.gs/Qq9M6aT ServerLog:https://mclo.gs/tEzAqR2
This is becoming a very large goose chase - here's a version with a much more strict check that refuses to let tag ingredients be touched if #minecraft:planks
doesn't have any entries. tinkerers-smithing-2.6.5+1.20.jar.zip
ugh, ignore that, that breaks even on vanilla
tinkerers-smithing-2.6.5+1.20.jar.zip
just forgot to negate the conditon correctly as it turns out - try this one when you can.
tinkerers-smithing-2.6.5+1.20.jar.zip
just forgot to negate the conditon correctly as it turns out - try this one when you can.
Fixed Confirm
Could you send through a server log for this one? It would tell us which mod to report the base issue to.
Could you send through a server log for this one? It would tell us which mod to report the base issue to.
Server Log: https://mclo.gs/2JMUWc7
Looks like it's https://github.com/Truly-Modular/Armory/blob/master/common/src/main/java/smartin/armory/GenerateArmorModularConverter.java#L43 from truly modular armory causing the issue. I'll report to them, but I'll also release this safe version properly.
Looks like it's https://github.com/Truly-Modular/Armory/blob/master/common/src/main/java/smartin/armory/GenerateArmorModularConverter.java#L43 from truly modular armory causing the issue. I'll report to them, but I'll also release this safe version properly.
Thanks!
reported here https://github.com/Truly-Modular/Modular-Item-API/issues/29 and published 2.6.5 - thanks for the help!
MC:1.20.1 Fabric Java21