diff --git a/src/main/java/noppes/npcs/CustomNpcs.java b/src/main/java/noppes/npcs/CustomNpcs.java index ba711359c..3a02cb530 100644 --- a/src/main/java/noppes/npcs/CustomNpcs.java +++ b/src/main/java/noppes/npcs/CustomNpcs.java @@ -47,6 +47,11 @@ public class CustomNpcs { @ConfigProp(info = "Enables/Disables ALL scripting. You can still see and write code in the scripter, but these scripts won't run. True by default") public static boolean ScriptingEnabled = true; + @ConfigProp(info = "Enables/Disables the use of the the ECMA6 Javascript standard instead of ECMA5.1." + + "\nEnabling this adds many more features to JS in scripts, but may cause some scripts to break" + + "\non servers that run Java 8 or lower. Disabled by default.") + public static boolean ScriptingECMA6 = false; + @ConfigProp(info = "Enables global player event scripts to be used in the scripter. You can still see and write code in the scripter, but these scripts won't run. True by default.") public static boolean GlobalPlayerScripts = true; diff --git a/src/main/java/noppes/npcs/controllers/ScriptContainer.java b/src/main/java/noppes/npcs/controllers/ScriptContainer.java index 837e36c9e..b8fc89b4d 100644 --- a/src/main/java/noppes/npcs/controllers/ScriptContainer.java +++ b/src/main/java/noppes/npcs/controllers/ScriptContainer.java @@ -209,7 +209,7 @@ public class ScriptContainer { public void setEngine(String scriptLanguage) { if(currentScriptLanguage != null && currentScriptLanguage.equals(scriptLanguage)) return; - if (scriptLanguage.equals("ECMAScript")) { + if (CustomNpcs.ScriptingECMA6 && scriptLanguage.equals("ECMAScript")) { System.setProperty("nashorn.args", "--language=es6"); } engine = ScriptController.Instance.getEngineByName(scriptLanguage.toLowerCase());