diff --git a/src/main/java/noppes/npcs/janino/JaninoScript.java b/src/main/java/noppes/npcs/janino/JaninoScript.java index 0f9d5c9f1..22fb9ee95 100644 --- a/src/main/java/noppes/npcs/janino/JaninoScript.java +++ b/src/main/java/noppes/npcs/janino/JaninoScript.java @@ -58,11 +58,14 @@ public abstract class JaninoScript implements IScriptUnit { // Map from EnumScriptType to Method for OLD tab-based script system private Map hookTypeMap = new HashMap<>(); - protected JaninoScript(Class type, Consumer> buildSettings) { + // Default imports for this script type (e.g., noppes.npcs.api.*) + private final String[] defaultImports; + + protected JaninoScript(Class type, String[] defaultImports) { this.type = type; - this.builder = IScriptBodyBuilder - .getBuilder(type, CustomNpcs.getClientCompiler()); - buildSettings.accept(builder); + this.defaultImports = defaultImports != null ? defaultImports : new String[0]; + this.builder = IScriptBodyBuilder.getBuilder(type, CustomNpcs.getClientCompiler()) + .setDefaultImports(defaultImports); Permissions permissions = new Permissions(); permissions.setReadOnly(); diff --git a/src/main/java/noppes/npcs/janino/impl/JaninoNpcScript.java b/src/main/java/noppes/npcs/janino/impl/JaninoNpcScript.java index b41e2aac8..4b051b37e 100644 --- a/src/main/java/noppes/npcs/janino/impl/JaninoNpcScript.java +++ b/src/main/java/noppes/npcs/janino/impl/JaninoNpcScript.java @@ -14,18 +14,19 @@ import noppes.npcs.janino.annotations.ScriptHook; */ public class JaninoNpcScript extends JaninoScript { + /** Default imports available to NPC scripts without explicit import statements. */ + public static final String[] DEFAULT_IMPORTS = { + "noppes.npcs.api.*", + "noppes.npcs.api.entity.*", + "noppes.npcs.api.event.*", + "noppes.npcs.api.handler.*", + "noppes.npcs.api.handler.data.*", + "noppes.npcs.api.item.*", + "noppes.npcs.api.ability.*" + }; + public JaninoNpcScript() { - super(Functions.class, (builder) -> builder - .setDefaultImports( - "noppes.npcs.api.*", - "noppes.npcs.api.entity.*", - "noppes.npcs.api.event.*", - "noppes.npcs.api.handler.*", - "noppes.npcs.api.handler.data.*", - "noppes.npcs.api.item.*", - "noppes.npcs.api.ability.*" - ) - ); + super(Functions.class, DEFAULT_IMPORTS); } /**