Skip to content

Commit c791f21

Browse files
committed
default imports java.lang, java.util and org.bukkit
1 parent 2985a79 commit c791f21

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

src/main/java/com/mengcraft/script/ScriptBootstrap.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public static Object require(File required) {
6767
case "js":
6868
ScriptEngine ctx = jsEngine();
6969
Bindings bindings = ctx.createBindings();
70-
ctx.eval("exports = {}", bindings);
70+
ctx.eval("exports = {}; load(\"nashorn:mozilla_compat.js\"); importPackage(java.lang, java.util, org.bukkit);", bindings);
7171
ctx.eval(Files.newReader(required, StandardCharsets.UTF_8), bindings);
7272
return ctx.eval("exports", bindings);
7373
case "json":
@@ -84,7 +84,7 @@ public static ScriptEngine jsEngine() {
8484
@Override
8585
public void onLoad() {
8686
plugin = this;
87-
jsEngine = new ScriptEngineManager(getClassLoader()).getEngineByExtension("js");
87+
jsEngine = new ScriptEngineManager(getClassLoader()).getEngineByName("nashorn");
8888
}
8989

9090
@Override

src/main/java/com/mengcraft/script/loader/ScriptLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public ScriptBinding load(ScriptInfo info) throws ScriptPluginException {
3636
ctx.put("loader", info.loader);
3737
Object scriptObj = null;
3838
try {
39+
ctx.eval("load(\"nashorn:mozilla_compat.js\"); importPackage(java.lang, java.util, org.bukkit);");
3940
ctx.eval(info.contend);
4041
scriptObj = ctx.eval("this");
4142
} catch (ScriptException e) {

src/main/java/com/mengcraft/script/plugin/ScriptingLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ public void onEnable() {
176176
Object global = ctx.eval("this", bindings);
177177
Object jsObject = ctx.eval("Object", bindings);
178178
((Invocable) ctx).invokeMethod(jsObject, "bindProperties", global, this);
179+
ctx.eval("load(\"nashorn:mozilla_compat.js\"); importPackage(java.lang, java.util, org.bukkit);", bindings);
179180
ctx.eval(new FileReader(jsFile), bindings);
180181
}
181182

0 commit comments

Comments
 (0)