/**
* Setup javascript shortcuts such as 'server'.
*/
private void initJS() {
// Allow JS to load java classes.
Thread currentThread = Thread.currentThread();
ClassLoader previousClassLoader = currentThread.getContextClassLoader();
currentThread.setContextClassLoader(Core.getInstance().getClass().getClassLoader());
try {
this.engine = new ScriptEngineManager().getEngineByName("JavaScript");
engine.put("engine", engine); // Allow JS to do consistent eval.
engine.eval(new InputStreamReader(Core.getInstance().getResource("boot.js"))); // Run JS startup.
MechanicManager.getMechanics().forEach(this::bindObject); // Create shortcuts for all mechanics.
bindClass(Utils.class);
bindClass(KCPlayer.class);
bindClass(ReflectionUtil.class);
} catch (ScriptException ex) {
ex.printStackTrace();
Core.warn("Failed to initialize JS shortcuts.");
} finally {
// Set back the previous class loader.
currentThread.setContextClassLoader(previousClassLoader);
}
}
CommandJS.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:Kineticraft
作者:
评论列表
文章目录