CSSFerret Posted February 23, 2022 Share Posted February 23, 2022 I understand TIS is not responsible for mods, but since Passive Skills Fix has been working without updates since 2017 I wanted to post to be sure there wasn't an unintended change in 41.66 that would cause it to break. While gaining experience (e.g. via walking with high inventory weight), errors like this are observed from Passive Skills Fix: ERROR: General , 1645645174902> 6,563,104,291> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: No implementation found at MultiLuaJavaInvoker.call line:112. ERROR: General , 1645645174902> 6,563,104,292> DebugLogStream.printException> Stack trace: java.lang.RuntimeException: No implementation found at se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:112) 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:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:169) at zombie.Lua.LuaEventManager.triggerEventGarbage(LuaEventManager.java:182) at zombie.characters.IsoGameCharacter$XP.AddXP(IsoGameCharacter.java:14859) at zombie.characters.IsoGameCharacter$XP.AddXP(IsoGameCharacter.java:14676) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.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:79) 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:1812) at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66) at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139) at zombie.Lua.Event.trigger(Event.java:64) at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:88) at zombie.characters.IsoPlayer.updateInternal2(IsoPlayer.java:2369) at zombie.characters.IsoPlayer.updateInternal1(IsoPlayer.java:1871) 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.characters.IsoPlayer.update(IsoPlayer.java:1863) at zombie.MovingObjectUpdateSchedulerUpdateBucket.update(MovingObjectUpdateSchedulerUpdateBucket.java:79) at zombie.MovingObjectUpdateScheduler.update(MovingObjectUpdateScheduler.java:145) at zombie.iso.IsoCell.ProcessObjects(IsoCell.java:2927) at zombie.iso.IsoCell.updateInternal(IsoCell.java:5716) 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.iso.IsoCell.update(IsoCell.java:5662) at zombie.iso.IsoWorld.updateInternal(IsoWorld.java:3337) 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.iso.IsoWorld.update(IsoWorld.java:3265) at zombie.gameStates.IngameState.updateInternal(IngameState.java:1643) at zombie.gameStates.IngameState.update(IngameState.java:1359) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:101) at zombie.GameWindow.logic(GameWindow.java:289) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:744) at zombie.GameWindow.run_ez(GameWindow.java:660) at zombie.GameWindow.mainThread(GameWindow.java:474) at java.base/java.lang.Thread.run(Unknown Source) LOG : General , 1645645174905> 6,563,104,295> ----------------------------------------- STACK TRACE ----------------------------------------- Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@cc0ec98e function: Fix -- file: passiveSkills.lua line # 22 Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@cc0ec98e function: onPlayerMove -- file: XpUpdate.lua line # 32 Tested server (Linux, dedicated) build ID 8247929 with client (Windows) build ID 8247924 Link to comment Share on other sites More sharing options...
SalSevenSix Posted February 24, 2022 Share Posted February 24, 2022 GymGoer trait in More Traits mod is also broken because of this. Looks like a Java function was removed or renamed. Link to comment Share on other sites More sharing options...
HypnoToadTrance Posted February 24, 2022 Share Posted February 24, 2022 (edited) After some investigating, it looks like the AddXP function in IsoGameCharacter.XP was changed between 41.65 and 41.66 41.65 has these functions defined: public void AddXP(Perk var1, float var2) Public void AddXP(Perk var1, float var2, boolean var3) public void AddXP(Perk var1, float var2, boolean var3, boolean var4) public void AddXP(Perk var1, float var2, boolean var3, boolean var4, boolean var5, boolean var6) 41.66 has some functions curiously removed, as now only these are defined: public void AddXP(Perk var1, float var2) public void AddXP(Perk var1, float var2, boolean var3, boolean var4, boolean var5) So if I'm understanding this correctly, it looks like any mod which uses the previous two > Public void AddXP(Perk var1, float var2, boolean var3) > public void AddXP(Perk var1, float var2, boolean var3, boolean var4) Functions will result in an undefined error. In my case, I've been using "public void AddXP(Perk var1, float var2, boolean var3, boolean var4)" , so it looks like the solution is to migrate those calls to "public void AddXP(Perk var1, float var2, boolean var3, boolean var4, boolean var5, boolean var6)" instead? I could be wrong, so let me know if this is something else? Edited February 24, 2022 by HypnoToadTrance Awkward spacing Link to comment Share on other sites More sharing options...
Pandorea Posted February 24, 2022 Share Posted February 24, 2022 Have you contacted mods creators with these issues? Link to comment Share on other sites More sharing options...
HypnoToadTrance Posted February 24, 2022 Share Posted February 24, 2022 2 minutes ago, Pandorea said: Have you contacted mods creators with these issues? I am the mod creator of More Traits, and after making the change in code from player:getXp():AddXP(perk, amount, false, false); to player:getXp():AddXP(perk, amount, false, false, false); The error no longer occurs. I could still just be dumb and it might've been something else, but this resolved it for me. Still, it would be good practice to leave some sort of method that accepts the previously working functions to prevent this incompatibility. I wish I knew exactly what the new boolean parameter was doing, but at least the game is happy to accept the code now. CSSFerret and Pandorea 2 Link to comment Share on other sites More sharing options...
EnigmaGrey Posted February 24, 2022 Share Posted February 24, 2022 1 hour ago, HypnoToadTrance said: I am the mod creator of More Traits, and after making the change in code from player:getXp():AddXP(perk, amount, false, false); to player:getXp():AddXP(perk, amount, false, false, false); The error no longer occurs. I could still just be dumb and it might've been something else, but this resolved it for me. Still, it would be good practice to leave some sort of method that accepts the previously working functions to prevent this incompatibility. I wish I knew exactly what the new boolean parameter was doing, but at least the game is happy to accept the code now. The last bool is to mark it as a remote player or not. A remote player is one that's simulated on your client, if I understand it right. So, you'd likely want to leave it false. HypnoToadTrance 1 Link to comment Share on other sites More sharing options...
CSSFerret Posted February 24, 2022 Author Share Posted February 24, 2022 Is there a plan to provide a legacy implementation that assumes false for this parameter when omitted? Just curious whether this will need manual intervention by mod makers when 41.66 is released to the public branch. HypnoToadTrance 1 Link to comment Share on other sites More sharing options...
CSSFerret Posted February 25, 2022 Author Share Posted February 25, 2022 For those wondering, the answer was no; the mods are broken by the public release and need updating to fix. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now