Project Zomboid

Project Zomboid

ST Survival Tailor
The laziest 14 Apr, 2022 @ 9:24am
Error with belts
This error start spewing in strange chain of events.
You need to craft Utility Belt and equip it. After that, you need to find vanilla belt.

Vanilla belt will lose all its description and start spewing this errors every second:
STACK TRACE ----------------------------------------- Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@eb3a67a3 function: render -- file: ISToolTipInv.lua line # 108 function: render -- file: SewingMachine_ISToolTipInv.lua line # 8 function: render -- file: SMUI_eris_inventoryTooltip.lua line # 79 ERROR: General , 1649953261729> 1 134 097 657> ExceptionLogger.logException> Exception thrown java.lang.reflect.InvocationTargetException at GeneratedMethodAccessor1407.invoke. ERROR: General , 1649953261729> 1 134 097 657> DebugLogStream.printException> Stack trace: java.lang.reflect.InvocationTargetException at jdk.internal.reflect.GeneratedMethodAccessor1407.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:62) at se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:198) at se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:60) at se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:182) at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:1007) at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163) at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980) at se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1827) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:38) at zombie.ui.UIElement.render(UIElement.java:1534) at zombie.ui.UIManager.render(UIManager.java:438) at zombie.gameStates.IngameState.renderFrameUI(IngameState.java:1210) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.gameStates.IngameState.renderframeui(IngameState.java:1199) at zombie.gameStates.IngameState.renderInternal(IngameState.java:1350) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.gameStates.IngameState.render(IngameState.java:1297) at zombie.gameStates.GameStateMachine.render(GameStateMachine.java:37) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.GameWindow.renderInternal(GameWindow.java:331) at zombie.GameWindow.frameStep(GameWindow.java:753) at zombie.GameWindow.run_ez(GameWindow.java:646) at zombie.GameWindow.mainThread(GameWindow.java:474) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassCastException: class zombie.inventory.types.InventoryContainer cannot be cast to class zombie.inventory.types.Clothing (zombie.inventory.types.InventoryContainer and zombie.inventory.types.Clothing are in unnamed module of loader 'app') at zombie.inventory.types.Clothing.DoTooltip(Clothing.java:237) at zombie.inventory.InventoryItem.DoTooltip(InventoryItem.java:596) ... 45 more
< >
Showing 1-3 of 3 comments
Spar10Tech  [developer] 16 Apr, 2022 @ 9:48am 
A similar error also seems to happens with the new Gun Belt and the vanilla holsters. From what I can tell the game code is crashing on trying to 'build' the tool tip message on the vanilla items when you have one of my belts equipped.

It appears the base code does not handle a custom equipped container item in the same slot as clothing. A work around might be to make custom slots for both items, but then they could be worn/equipped with the belts ad holsters. I have not tested it yet, but this may cause errors with the attachment slots if both are equipped.

I know the 'Workshop' mod adds a custom 'Tool Belt'. I may have to see if I can find how it deals with this error.
The laziest 16 Apr, 2022 @ 9:55am 
Originally posted by Spar10Tech:
I know the 'Workshop' mod adds a custom 'Tool Belt'. I may have to see if I can find how it deals with this error.
And I can confirm that it is true. We used The Workshop mod before installing this one, and it worked just fine. It would be awesome if you can do something like that.
Spar10Tech  [developer] 17 Apr, 2022 @ 7:57am 
Moving the belts to custom body locations removes the error and doesn't seem to cause an issue with the two attachment slots. I need to test a little more but I may have a temporary solution that at least doesn't generate errors. The problem has something to do with sharing the vanilla 'Belt' and 'BeltExtra' slots.
< >
Showing 1-3 of 3 comments
Per page: 1530 50