Project Zomboid

Project Zomboid

Clean UI B42.12 Hotfix
 此主题已被置顶,因此可能具有重要性
ivmakk  [开发者] 9 月 27 日 上午 11:31
Bug Reports
If you encounter any errors or issues, please post what's wrong, how to reproduce, and any error message spotted before/after issue happen.

If you see error messages:
Please use code formatting and post massage here formatted (if you see full screen error, or it relates to console.txt, or from errorMagnifier):
[code]STACK TRACE ...[/code]

Quick check for Clean UI issues

Most recent Clean UI reports come from other outdated mods that changed vanilla inventory code and cascade-break Clean UI. The steps below quickly confirm if it is Clean UI or a conflicted mod.

  1. Start a new game - do NOT use your main world. Make a quick Builder or Custom Sandbox game and skip traits/customization.
  2. Run only this mod - enable just Clean UI (and Clean UI B42.12 Hotfix) on the new save.
    • If it works here - the problem is caused by another mod.
    • If it still breaks here - please report it below with logs.
  3. Alternative quick check - on your main save, temporarily disable Clean UI and Clean UI B42.12 Hotfix and try the equivalent vanilla inventory action (e.g. opening/looting a container, sorting items, Transfer All).
    • If vanilla inventory still behaves incorrectly - another mod is interfering.

If it is NOT Clean UI - identify the conflicting mod

The steps below make sense to try only if the “Quick check for Clean UI issues” works fine and the problem is caused by other mod(s):

  1. Start a new game with enable Clean UI and Clean UI B42.12 Hotfix
  2. Split mods in half - enable only half of your other mods and start the test game.
    • If the bug shows up → the cursed mod is in this half.
    • If the bug does not show up → it is in the other half.
  3. Repeat the split - keep halving the suspect group until you isolate the single mod.
  4. Check logs - console.txt often points to the culprit (Windows path: %USERPROFILE%\\Zomboid\\console.txt). The errorMagnifier mod can help with in-game error detection.
  5. Report clearly - please share:
    • Mod name and version
    • Repro steps
    • Relevant lines from console.txt
最后由 ivmakk 编辑于; 9 月 28 日 上午 2:49
< >
正在显示第 1 - 15 条,共 20 条留言
Oven button does not change colour and stays on another containers after that.
最后由 Microsoft OneNote 编辑于; 9 月 27 日 下午 12:45
ivmakk  [开发者] 9 月 27 日 下午 12:56 
引用自 Microsoft OneNote
Oven button does not change colour and stays on another containers after that.
Got it, working on the fix.
yayie 9 月 27 日 下午 1:00 
Odd, I don't see any on/off buttons on my oven. I had to use right click context menu to interact with it.
ivmakk  [开发者] 9 月 27 日 下午 1:03 
引用自 yayie
Odd, I don't see any on/off buttons on my oven. I had to use right click context menu to interact with it.
Yep, in vanilla all of them were moved to the new control panel (footer instead of header) and changed quite a lot in code. I’m working on a fix.
ivmakk  [开发者] 9 月 27 日 下午 2:08 
引用自 Microsoft OneNote
Oven button does not change colour and stays on another containers after that.
引用自 yayie
Odd, I don't see any on/off buttons on my oven. I had to use right click context menu to interact with it.
Fixed! You may need to re-subscribe to get the update faster. Thanks for the quick report!
Elusion™ 9 月 28 日 上午 12:18 
when you click on container weight button (take all) be it a shelf or box, animation starts but nothing happens.
最后由 Elusion™ 编辑于; 9 月 28 日 上午 12:19
ivmakk  [开发者] 9 月 28 日 上午 12:47 
引用自 Elusion™
when you click on container weight button (take all) be it a shelf or box, animation starts but nothing happens.

That’s strange – most likely another outdated mod is interfering with item transfers (I can’t reproduce it on my side). This mod just uses vanilla’s Take All. You can test it in a couple of ways (you can start with option #2, and if you have enough time/motivation, also try option #1):

1. Start a new game with only Clean UI and Clean UI B42.12 Hotfix enabled. If it works, then enable half of the mods you normally use and test again. If it stops working, disable half of those until you track down the “cursed” mod causing the issue.
2. Temporarily disable Clean UI and Clean UI B42.12 Hotfix on your save and try vanilla’s Transfer All (footer of the container panel). If the same issue happens, then it’s caused by another mod (and option #1 will help you identify it).

I’ll do my best to isolate transfer actions within the mod so it don’t rely on vanilla code (which can easily get broken by outdated mods), but that will take some time.
Emi 9 月 28 日 上午 12:52 
For some reason, even I enable cleanui and the hotfix nothing changes, I still have the default UI.
ivmakk  [开发者] 9 月 28 日 上午 12:58 
引用自 Emi
For some reason, even I enable cleanui and the hotfix nothing changes, I still have the default UI.

Please try starting a new game with only Clean UI. If it works, then also enable Clean UI B42.12 Hotfix (I’ve added a “Quick check for Clean UI issues” note in the Discussions header as guide for such cases, you can try it).

If that helps, you can also try the “If it’s NOT Clean UI – identify the conflicting mod” steps.

Both mods rely heavily on the vanilla inventory codebase, so if another mod interferes with it, Clean UI may stop working partially or completely.
最后由 ivmakk 编辑于; 9 月 28 日 上午 2:37
Emi 9 月 28 日 上午 2:39 
@ivmakk can confirm now it works after starting a new game. thanks so much for the quick response, you're a real g
Panzer Kätze 9 月 28 日 上午 8:28 
for some reason the "equip" button disappeared, I've tried deactivating other mods but it doesn't work and this error appears




`Callframe at: getFixes
function: createMenu -- file: ISInventoryPaneContextMenu.lua line # 959 | Vanilla
function: onRightMouseUp -- file: ISInventoryPane.lua line # 1627 | MOD: Clean UI B42.12 Hotfix
`

`function: createMenu -- file: ISInventoryPaneContextMenu.lua line # 960 | Vanilla
function: onRightMouseUp -- file: ISInventoryPane.lua line # 1578 | Vanilla
java.lang.RuntimeException: attempted index: isEmpty of non-table: null
at se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1530)
at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:502)
at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:174)
at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1826)
at se.krka.kahlua.vm.KahluaThread.pcallBoolean(KahluaThread.java:1765)
at se.krka.kahlua.integration.LuaCaller.protectedCallBoolean(LuaCaller.java:104)
at zombie.ui.UIElement.onRightMouseUp(UIElement.java:1931)
at zombie.ui.UIElement.onRightMouseUp(UIElement.java:1889)
at zombie.ui.UIElement.onConsumeMouseButtonUp(UIElement.java:1703)
at zombie.ui.UIManager.updateMouseButtons(UIManager.java:866)
at zombie.ui.UIManager.update(UIManager.java:725)
at zombie.GameWindow.logic(GameWindow.java:329)
at zombie.GameWindow.frameStep(GameWindow.java:923)
at zombie.GameWindow.mainThreadStep(GameWindow.java:647)
at zombie.MainThread.mainLoop(MainThread.java:76)
at java.base/java.lang.Thread.run(Unknown Source)
`
最后由 Panzer Kätze 编辑于; 9 月 28 日 上午 8:33
ivmakk  [开发者] 9 月 28 日 上午 10:11 
引用自 Panzer Kätze
for some reason the "equip" button disappeared, I've tried deactivating other mods but it doesn't work and this error appears
`

Does this happen for all items, or only specific ones? From the vanilla code, I can see that under certain conditions (e.g. if an item is broken, nearly broken, or has been repaired) the equip button may disappear.

Do you still see the equip option when CleanUI is disabled? Also, have you tried starting a new game with only CleanUI and the Fix mod enabled, as described in “Quick check for Clean UI issues”? That would confirm whether it’s caused by another mod.

Sorry for all the questions, but I can’t reproduce the issue on my side, and from the error message it looks like the root cause happens before the mod’s logic starts - when in vanilla item checked on fixes applied to the item. So any extra info would be helpful.
Panzer Kätze 9 月 28 日 下午 2:09 
引用自 ivmakk
引用自 Panzer Kätze
for some reason the "equip" button disappeared, I've tried deactivating other mods but it doesn't work and this error appears
`

Does this happen for all items, or only specific ones? From the vanilla code, I can see that under certain conditions (e.g. if an item is broken, nearly broken, or has been repaired) the equip button may disappear.

Do you still see the equip option when CleanUI is disabled? Also, have you tried starting a new game with only CleanUI and the Fix mod enabled, as described in “Quick check for Clean UI issues”? That would confirm whether it’s caused by another mod.

Sorry for all the questions, but I can’t reproduce the issue on my side, and from the error message it looks like the root cause happens before the mod’s logic starts - when in vanilla item checked on fixes applied to the item. So any extra info would be helpful.

yeah, it happen for all items, and yes, i already tried to starting a new game with only CleanUI and the HotFix. Sometimes the button appears, other times it doesn't. But even if it appears at the beginning of the game, after a while the button soon disappears.

i wish i could be more useful, but i dont know too much about modding bro, im sorry.
最后由 Panzer Kätze 编辑于; 9 月 28 日 下午 4:11
ivmakk  [开发者] 9 月 28 日 下午 3:41 
引用自 Panzer Kätze
yeah, it happen for all items, and yes, i already tried to starting a new game with only CleanUI and the HotFix. Sometimes the button appears, other times it doesn't. But even if it appears at the beginning of the game, after a while the button soon disappears.

i wish i could be more useful, but i dont now too much about modding bro, im sorry.

Well, I have good news and bad news.

Good news: I can say with a high level of confidence that the issue isn’t caused by this mod.

Bad news: The same error was reported by some users even before this mod was published on Workshop, so you’re not the only one facing it. But maybe that’s also a bit of good news – it means there’s a chance someone will eventually find a solution.

I found mentions of the error here:


From the error itself, it seems to be caused by some modded item that hasn’t been properly updated to B42.12 yet. When the right-click handler checks whether the item was repaired, the game runs into a missing “repaired” state and breaks the follow-up menu processing. That’s just a theory for now.

If you’ve seen this happen in a fresh game with no other mods enabled, then it could also be a vanilla issue.

I’ll keep an eye on it and share if I find a solution.

UPD: The topic starter of Example #5 shared that the root cause of the issue is the mod Common Sense. If you’re using it, try disabling it and see if the problem goes away.
最后由 ivmakk 编辑于; 9 月 28 日 下午 4:15
Leo 10 月 1 日 下午 10:12 
I'm getting the same error and can reproduce 100% of the time, it's specifically happening when right clicking any weapon which can be repaired such as the baseball bat or a wooden handle as long as the item is not 100% condition.

Callframe at: getFixes
function: createMenu -- file: ISInventoryPaneContextMenu.lua line # 959 | Vanilla
function: onRightMouseUp -- file: ISInventoryPane.lua line # 1627 | MOD: Clean UI B42.12 Hotfix

ERROR: General f:89470, t:1759381047987> ExceptionLogger.logException> Exception thrown
java.lang.reflect.InvocationTargetException at NativeMethodAccessorImpl.invoke0 (Native Method).
Stack trace:
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.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:210)
se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:200)
se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:191)
se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:851)
se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:174)
se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1826)
se.krka.kahlua.vm.KahluaThread.pcallBoolean(KahluaThread.java:1765)
se.krka.kahlua.integration.LuaCaller.protectedCallBoolean(LuaCaller.java:104)
zombie.ui.UIElement.onRightMouseUp(UIElement.java:1931)
zombie.ui.UIElement.onRightMouseUp(UIElement.java:1889)
zombie.ui.UIElement.onConsumeMouseButtonUp(UIElement.java:1703)
zombie.ui.UIManager.updateMouseButtons(UIManager.java:866)
zombie.ui.UIManager.update(UIManager.java:725)
zombie.GameWindow.logic(GameWindow.java:329)
zombie.GameWindow.frameStep(GameWindow.java:923)
zombie.GameWindow.mainThreadStep(GameWindow.java:647)
zombie.MainThread.mainLoop(MainThread.java:76)
java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: Cannot invoke "java.util.ArrayList.contains(Object)" because the return value of "zombie.scripting.objects.Fixing.getRequiredItem()" is null
zombie.inventory.FixingManager.getFixes(FixingManager.java:33)
... 23 more
LOG : General f:89470, t:1759381047987> -------------------------------------------------------------
attempted index: isEmpty of non-table: null
< >
正在显示第 1 - 15 条,共 20 条留言
每页显示数: 1530 50