From cf49d9a7783079f912f4c44a932a0e2f119538f6 Mon Sep 17 00:00:00 2001 From: Kam Date: Wed, 4 Mar 2026 17:28:18 -0500 Subject: [PATCH] Revert "Fix Timer not being able to be called from a Spawning NPC [Revert if not working]" This reverts commit d1b32ea8a1bd2ad53e2deb9e4d78379d5221d2a0. --- .../npcs/controllers/ScriptContainer.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/main/java/noppes/npcs/controllers/ScriptContainer.java b/src/main/java/noppes/npcs/controllers/ScriptContainer.java index 7cd691c49..e8dbe22b1 100644 --- a/src/main/java/noppes/npcs/controllers/ScriptContainer.java +++ b/src/main/java/noppes/npcs/controllers/ScriptContainer.java @@ -14,7 +14,6 @@ import noppes.npcs.scripted.NpcAPI; import javax.script.Bindings; import javax.script.Compilable; import javax.script.CompiledScript; -import javax.script.Invocable; import javax.script.ScriptContext; import javax.script.ScriptEngine; import java.io.PrintWriter; @@ -273,18 +272,20 @@ public class ScriptContainer implements IScriptUnit { unknownFunctions.add(type); } } else { - if (instanceBindings != null) { - if (!this.cachedFunctions.containsKey(type)) { + if (!this.cachedFunctions.containsKey(type)) { + ScriptObjectMirror func; + if (instanceBindings != null) { Object val = instanceBindings.get(type); - ScriptObjectMirror func = val instanceof ScriptObjectMirror ? (ScriptObjectMirror) val : null; - this.cachedFunctions.put(type, func); + func = val instanceof ScriptObjectMirror ? (ScriptObjectMirror) val : null; + } else { + ScriptObjectMirror global = (ScriptObjectMirror) engine.getBindings(ScriptContext.ENGINE_SCOPE); + func = (ScriptObjectMirror) global.get(type); } - ScriptObjectMirror func = this.cachedFunctions.get(type); - if (func != null) { - func.call(null, event); - } - } else { - ((Invocable) engine).invokeFunction(type, event); + this.cachedFunctions.put(type, func); + } + ScriptObjectMirror func = this.cachedFunctions.get(type); + if (func != null) { + func.call(null, event); } } } catch (NoSuchMethodException e) {