Polymart is now Voxel Shop! We're upgrading many features of the site, and during this open beta you will experience occasional bugs. Learn more
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();
}