diff --git a/src/main/java/carpet/script/CarpetEventServer.java b/src/main/java/carpet/script/CarpetEventServer.java index eca63b19..234c720f 100644 --- a/src/main/java/carpet/script/CarpetEventServer.java +++ b/src/main/java/carpet/script/CarpetEventServer.java @@ -103,6 +103,7 @@ public class CarpetEventServer runtimeArgs = new ArrayList<>(runtimeArgs); runtimeArgs.addAll(this.parametrizedArgs); } + if (CarpetServer.scriptServer == null) return false; // already stopped return CarpetServer.scriptServer.runEventCall( sender.withLevel(CarpetSettings.runPermissionLevel), host, optionalTarget, function, runtimeArgs diff --git a/src/main/java/carpet/script/CarpetScriptServer.java b/src/main/java/carpet/script/CarpetScriptServer.java index e8909838..e76a61ba 100644 --- a/src/main/java/carpet/script/CarpetScriptServer.java +++ b/src/main/java/carpet/script/CarpetScriptServer.java @@ -469,9 +469,10 @@ public class CarpetScriptServer public void onClose() { CarpetEventServer.Event.SHUTDOWN.onTick(); - for (ScriptHost host : modules.values()) + for (CarpetScriptHost host : modules.values()) { host.onClose(); + events.removeAllHostEvents(host); } }