Wrapper for Nashorn JavaScript engine
import com.vk2gpz.jsengine.JSEngine;
...
public class Foo {
void bar() {
ScriptEngine engine = JSEngine.getNewEngine();
try {
engine.eval("your script");
} catch (javax.script.ScriptException ex) {
ex.printStackTrace();
}
...
}
Plugin plugin = Bukkit.getPluginManager().getPlugin("JSEngine");
if (plugin != null) {
engine = (ScriptEngine) ((JSEngine) plugin).getSharedEngine();
//engine = (ScriptEngine) ((JSEngine) plugin).getNewEngine();
}
...
if (engine != null) {
try {
engine.eval("...you script");
} catch (javax.script.ScriptException ex) {
ex.printStackTrace();
}
}
ServicesManager servicesManager = getServer().getServicesManager();
if (!servicesManager.isProvidedFor(ScriptEngineManager.class)) {
ScriptEngineManager manager = new ScriptEngineManager();
servicesManager.register(ScriptEngineManager.class, manager, this, ServicePriority.Highest);
}
RegisteredServiceProvider servicesManager = Bukkit.getServer().getServicesManager().getRegistration(ScriptEngineManager.class);
ScriptEngineManager scriptEngineManager = servicesManager.getProvider();
ScriptEngine engine = scriptEngineManager.getEngineByName("js");
try {
engine.eval("your script");
} catch (javax.script.ScriptException ex) {
ex.printStackTrace();
}