Project Zomboid

Project Zomboid

[B42] Nested Containers (compatible with Clean UI)
Unknown mod incompatability/break
I can't tell if its related to this mod or not, but since some errors are thrown I'll leave this here in case theres any useful information as what some said in the comments seemed to appear to occur in my own set of mods, where interactions suddenly broke and threw errors.

sadly, in about a 2 hour span, there was over 70000 errors (mostly a mod conflict that broke tooltips) but I noticed the only thing that could seemingly explain a break in interactions looked to be this mod (And usually when near a car or something).

Since its unknown, I'll at least throw in 2 likely unrelated errors, and 2 related ones.

STACK TRACE
-----------------------------------------
function: SetFoodInfo -- file: ItemInfo.lua line # 194 | MOD: More Item Information
function: SetItemInfo -- file: ItemInfo.lua line # 127 | MOD: More Item Information
function: render -- file: ItemInfo.lua line # 700 | MOD: More Item Information.
[13-06-25 03:44:55.098] ERROR: General f:146826, t:1749782695098> ExceptionLogger.logException> Exception thrown
java.lang.RuntimeException: attempted index: getOption of non-table: null at KahluaThread.tableget(KahluaThread.java:1667).
Stack trace:
se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1667)
se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:624)
se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:173)
se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1963)
se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1805)
se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:38)
zombie.ui.UIElement.render(UIElement.java:2005)
zombie.ui.UIManager.render(UIManager.java:409)
zombie.gameStates.IngameState.renderFrameUI(IngameState.java:1331)
zombie.gameStates.IngameState.renderframeui(IngameState.java:1317)
zombie.gameStates.IngameState.renderInternal(IngameState.java:1456)
zombie.gameStates.IngameState.render(IngameState.java:1406)
zombie.gameStates.GameStateMachine.render(GameStateMachine.java:28)
zombie.GameWindow.renderInternal(GameWindow.java:466)
zombie.GameWindow.frameStep(GameWindow.java:938)
zombie.GameWindow.mainThreadStep(GameWindow.java:640)
zombie.MainThread.mainLoop(MainThread.java:76)
java.base/java.lang.Thread.run(Unknown Source)
.
[13-06-25 03:44:55.098] LOG : General f:146826, t:1749782695098> -----------------------------------------
STACK TRACE
-----------------------------------------
function: SetFoodInfo -- file: ItemInfo.lua line # 194 | MOD: More Item Information
function: SetItemInfo -- file: ItemInfo.lua line # 127 | MOD: More Item Information
function: render -- file: ItemInfo.lua line # 700 | MOD: More Item Information.
[13-06-25 03:44:55.796] LOG : General f:146891, t:1749782695796> -------------------------------------------------------------
attempted index: getItems of non-table: null.
[13-06-25 03:44:55.796] LOG : General f:146891, t:1749782695796> -----------------------------------------
STACK TRACE
-----------------------------------------
function: handleSubItems -- file: nested_for_cleanui.lua line # 12 | MOD: [B42] Nested Containers (compatible with Clean UI)
function: handleItems -- file: nested_for_cleanui.lua line # 68 | MOD: [B42] Nested Containers (compatible with Clean UI)
function: OnRefreshInventoryWindowContainers -- file: nested_for_cleanui.lua line # 96 | MOD: [B42] Nested Containers (compatible with Clean UI)
Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@4d51cda7
function: refreshBackpacks -- file: ISInventoryPage.lua line # 1730 | Vanilla
function: selectContainer -- file: ISInventoryPage.lua line # 1025 | Vanilla
function: onBackpackClick -- file: ISInventoryPage.lua line # 1283 | Vanilla
function: onMouseUp -- file: ISButton.lua line # 56 | Vanilla
function: onBackpackMouseUp -- file: ISInventoryPage.lua line # 1288 | Vanilla.
[13-06-25 03:44:55.796] ERROR: General f:146891, t:1749782695796> ExceptionLogger.logException> Exception thrown
java.lang.RuntimeException: attempted index: getItems of non-table: null at KahluaThread.tableget(KahluaThread.java:1667).
Stack trace:
se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1667)
se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:624)
se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:173)
se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1963)
se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1790)
se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66)
se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139)
zombie.Lua.Event.trigger(Event.java:72)
zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:364)
zombie.Lua.LuaEventManager.triggerEventGarbage(LuaEventManager.java:376)
zombie.Lua.LuaManager$GlobalObject.triggerEvent(LuaManager.java:4176)
jdk.internal.reflect.GeneratedMethodAccessor403.invoke(Unknown Source)
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.base/java.lang.reflect.Method.invoke(Unknown Source)
se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:62)
se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:211)
se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:60)
se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:192)
se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:988)
se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:173)
se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1963)
se.krka.kahlua.vm.KahluaThread.pcallBoolean(KahluaThread.java:1902)
se.krka.kahlua.integration.LuaCaller.protectedCallBoolean(LuaCaller.java:104)
zombie.ui.UIElement.onMouseUp(UIElement.java:1634)
zombie.ui.UIElement.onMouseUp(UIElement.java:1589)
zombie.ui.UIElement.onConsumeMouseButtonUp(UIElement.java:1696)
zombie.ui.UIManager.updateMouseButtons(UIManager.java:855)
zombie.ui.UIManager.update(UIManager.java:715)
zombie.GameWindow.logic(GameWindow.java:325)
zombie.GameWindow.frameStep(GameWindow.java:914)
zombie.GameWindow.mainThreadStep(GameWindow.java:640)
zombie.MainThread.mainLoop(MainThread.java:76)
java.base/java.lang.Thread.run(Unknown Source)
.
[13-06-25 03:44:55.796] LOG : General f:146891, t:1749782695796> -----------------------------------------
STACK TRACE
-----------------------------------------
function: handleSubItems -- file: nested_for_cleanui.lua line # 12 | MOD: [B42] Nested Containers (compatible with Clean UI)
function: handleItems -- file: nested_for_cleanui.lua line # 68 | MOD: [B42] Nested Containers (compatible with Clean UI)
function: OnRefreshInventoryWindowContainers -- file: nested_for_cleanui.lua line # 96 | MOD: [B42] Nested Containers (compatible with Clean UI)
Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@4d51cda7
function: refreshBackpacks -- file: ISInventoryPage.lua line # 1730 | Vanilla
function: selectContainer -- file: ISInventoryPage.lua line # 1025 | Vanilla
function: onBackpackClick -- file: ISInventoryPage.lua line # 1283 | Vanilla
function: onMouseUp -- file: ISButton.lua line # 56 | Vanilla
function: onBackpackMouseUp -- file: ISInventoryPage.lua line # 1288 | Vanilla.
[13-06-25 03:44:55.797] LOG : General f:146891, t:1749782695797> -------------------------------------------------------------
attempted index: getItems of non-table: null.
< >
Showing 1-5 of 5 comments
maraganina  [developer] 13 Jun @ 7:18am 
Thanks for that. I've implemented some checks to prevent these errors, the update is already out. I suspect it's just some extra objects that are not items or containers that are trying to be read by my mod, not sure why. Let's see if this actually fixes it or just prevents the errors from popping up. I've just tested it with Eris' mod AND Mod Item Information. Here's me testing it:

https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExaWhtbXk3Mm5ncmtpbGlzcGQyYjBsc3Izdzg3NDV6cHQzOXVpcGIzcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ZiPc6MBhCwPxp1NKx5/giphy.gif

You can see I can open doors and use the right-click menu normally. Transfer items to and from cars, etc. Tooltips with both Eris's mod and More Item Information look janky because I don't think they're supposed to be used together, but I'm not sure.

Also, my mod is only triggered when you click a container button in your inventory. You can verify this by seen that the function is hooked to the vanilla's "OnRefreshInventoryWindowContainers" callback. Unless you clicked 70000 times in 2 hours, other mods are the root cause.

Also, you've mentioned splitscreen in your comment before. Did you test it in singleplayer also?
Last edited by maraganina; 13 Jun @ 7:22am
Nilanth 13 Jun @ 7:22am 
yeah the problem is whatever it was causing the issue was sporadic in nature (Think out of the 70000+ errors of tooltip issues I'd say, it'd appear in a group some 20 times listing this mod but utterly brick some things), last time I saw it break things was in splitscreen and the 2nd player was near a vehicle trying to loot it - Thing is, im not sure I had any mod touching vehicle inventories or other mod to possibly explain it beyond errors spotted in the console - hence it could be anything.

Removing the eris mod the tooltips still broke, I get to happily investigate whatevers going on there as I reduce loaded mods and make new saves constantly :captainsmooth:

Unless I actually see that error pop up again, I probably won't have anymore info, and if the fix works...probably no more info
Last edited by Nilanth; 13 Jun @ 7:25am
maraganina  [developer] 13 Jun @ 7:47am 
Sounds good, thanks. Hopefully it will work. You might have to unsub/resub to this mod to get the update though. Please check it is version 1.1.1 before you load your save. Regarding splitscreen, I've also changed the way the code checks for the active player, so if you want to test that it would be nice. Another thing you can do if you want is go to your subscribed items and click "save to collection" and post it here so I can check the mods. Maybe I'll have a clue that way. For example, here are the mods I'm using:

https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3496590694

I know these work together because I'm playing a campaign right now.
Nilanth 13 Jun @ 8:45am 
I tracked down those tooltip issues to [B42/41] Customizable Containers (Its capacity bypass modification) which modifies some classes, though some people think that was working, it ultimately seemed to be the cause of issues with tooltip mods (So I guess those class files did have some code changes in the recent update) and needs rebuilding with those newer changes.

It could also be what was messing with the above, given it does handle containers and wouldn't surprise me if it caused some kind of interaction issues that broke until reloading Lua/the save.

It wouldn't surprise me if some players used a capacity bypass mod (so you can pickup/carry over 50 and other such hard coded limits currently) in conjunction with this mod that accesses nested containers better.

If anyone had/has interaction issues, consider validating your zomboid files if you used said edits.
Last edited by Nilanth; 13 Jun @ 8:48am
maraganina  [developer] 13 Jun @ 9:17am 
Originally posted by Nilanth:
I tracked down those tooltip issues to [B42/41] Customizable Containers (Its capacity bypass modification) which modifies some classes, though some people think that was working, it ultimately seemed to be the cause of issues with tooltip mods (So I guess those class files did have some code changes in the recent update) and needs rebuilding with those newer changes.

It could also be what was messing with the above, given it does handle containers and wouldn't surprise me if it caused some kind of interaction issues that broke until reloading Lua/the save.

It wouldn't surprise me if some players used a capacity bypass mod (so you can pickup/carry over 50 and other such hard coded limits currently) in conjunction with this mod that accesses nested containers better.

If anyone had/has interaction issues, consider validating your zomboid files if you used said edits.

That's great, thanks. I'll mention that mod as likely incompatible for now. I'll check that mod later, but definitely if there's any mod that encapsulates any Item or ItemContainer class and makes the getItems() method unavailable, it will break Nested Containers. With the update I pushed earlier today, there should no longer be errors popping up in that case, but nesting still won't work.
< >
Showing 1-5 of 5 comments
Per page: 1530 50