Just fixed formatting for better readability, no real changes.
This commit is contained in:
parent
e1e78587f4
commit
0423141bf1
2 changed files with 40 additions and 35 deletions
|
@ -21,42 +21,43 @@ public class ScriptCraftPlugin extends JavaPlugin implements Listener
|
|||
//protected Map<CommandSender,ScriptCraftEvaluator> playerContexts = new HashMap<CommandSender,ScriptCraftEvaluator>();
|
||||
private String NO_JAVASCRIPT_MESSAGE = "No JavaScript Engine available. ScriptCraft will not work without Javascript.";
|
||||
protected ScriptEngine engine = null;
|
||||
@Override
|
||||
public void onEnable()
|
||||
|
||||
@Override public void onEnable()
|
||||
{
|
||||
Thread currentThread = Thread.currentThread();
|
||||
ClassLoader previousClassLoader = currentThread.getContextClassLoader();
|
||||
currentThread.setContextClassLoader(getClassLoader());
|
||||
try{
|
||||
try {
|
||||
ScriptEngineManager factory = new ScriptEngineManager();
|
||||
this.engine = factory.getEngineByName("JavaScript");
|
||||
if (this.engine == null){
|
||||
this.getLogger().severe(NO_JAVASCRIPT_MESSAGE);
|
||||
} else {
|
||||
Invocable inv = (Invocable)this.engine;
|
||||
this.engine.eval(new InputStreamReader(this.getResource("boot.js")));
|
||||
inv.invokeFunction("__scboot", this, engine);
|
||||
}
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
this.getLogger().severe(e.getMessage());
|
||||
}finally{
|
||||
currentThread.setContextClassLoader(previousClassLoader);
|
||||
}
|
||||
if (this.engine == null) {
|
||||
this.getLogger().severe(NO_JAVASCRIPT_MESSAGE);
|
||||
} else {
|
||||
Invocable inv = (Invocable) this.engine;
|
||||
this.engine.eval(new InputStreamReader(this.getResource("boot.js")));
|
||||
inv.invokeFunction("__scboot", this, engine);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
this.getLogger().severe(e.getMessage());
|
||||
} finally {
|
||||
currentThread.setContextClassLoader(previousClassLoader);
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> onTabComplete(CommandSender sender, Command cmd,
|
||||
String alias,
|
||||
String[] args)
|
||||
{
|
||||
List<String> result = new ArrayList<String>();
|
||||
if (this.engine == null){
|
||||
this.getLogger().severe(NO_JAVASCRIPT_MESSAGE);
|
||||
return null;
|
||||
}
|
||||
if (this.engine == null) {
|
||||
this.getLogger().severe(NO_JAVASCRIPT_MESSAGE);
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
Invocable inv = (Invocable)this.engine;
|
||||
inv.invokeFunction("__onTabComplete", result, sender, cmd, alias, args);
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -66,15 +67,14 @@ public class ScriptCraftPlugin extends JavaPlugin implements Listener
|
|||
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
|
||||
{
|
||||
boolean result = false;
|
||||
String javascriptCode = "";
|
||||
Object jsResult = null;
|
||||
if (this.engine == null){
|
||||
this.getLogger().severe(NO_JAVASCRIPT_MESSAGE);
|
||||
return false;
|
||||
}
|
||||
if (this.engine == null) {
|
||||
this.getLogger().severe(NO_JAVASCRIPT_MESSAGE);
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
jsResult = ((Invocable)this.engine).invokeFunction("__onCommand", sender, cmd, label, args);
|
||||
}catch (Exception se){
|
||||
} catch (Exception se) {
|
||||
this.getLogger().severe(se.toString());
|
||||
se.printStackTrace();
|
||||
sender.sendMessage(se.getMessage());
|
||||
|
|
|
@ -16,12 +16,8 @@ import net.canarymod.commandsys.Command;
|
|||
import net.canarymod.commandsys.TabComplete;
|
||||
import net.canarymod.chat.MessageReceiver;
|
||||
import net.canarymod.Canary;
|
||||
import net.canarymod.api.inventory.recipes.CraftingRecipe;
|
||||
import net.canarymod.api.inventory.recipes.RecipeRow;
|
||||
import net.canarymod.api.inventory.Item;
|
||||
// event help stuff
|
||||
import net.canarymod.hook.Dispatcher;
|
||||
import net.canarymod.plugin.PluginListener;
|
||||
import net.canarymod.hook.Hook;
|
||||
|
||||
public class ScriptCraftPlugin extends Plugin implements PluginListener, CommandListener
|
||||
|
@ -31,6 +27,7 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
private String NO_JAVASCRIPT_MESSAGE = "No JavaScript Engine available. " +
|
||||
"ScriptCraft will not work without Javascript.";
|
||||
protected ScriptEngine engine = null;
|
||||
|
||||
@Override
|
||||
public void disable(){
|
||||
try {
|
||||
|
@ -39,6 +36,7 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
this.getLogman().error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean enable()
|
||||
{
|
||||
|
@ -62,11 +60,15 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
e.printStackTrace();
|
||||
this.getLogman().error(e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static interface IDispatcher {
|
||||
public void execute(PluginListener listener, Hook hook);
|
||||
}
|
||||
|
||||
public Dispatcher getDispatcher(final IDispatcher impl){
|
||||
return new Dispatcher(){
|
||||
public void execute(PluginListener listener, Hook hook){
|
||||
|
@ -74,6 +76,7 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
}
|
||||
};
|
||||
}
|
||||
|
||||
static class ScriptCraftTask extends ServerTask {
|
||||
private Runnable runnable = null;
|
||||
public ScriptCraftTask(Runnable runnable, TaskOwner owner, long delay, boolean continuous){
|
||||
|
@ -91,8 +94,6 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
}
|
||||
|
||||
private void executeCommand( MessageReceiver sender, String[] args) {
|
||||
boolean result = false;
|
||||
String javascriptCode = "";
|
||||
Object jsResult = null;
|
||||
if (this.engine == null){
|
||||
this.getLogman().error(NO_JAVASCRIPT_MESSAGE);
|
||||
|
@ -110,15 +111,17 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@Command(
|
||||
aliases = { "js" },
|
||||
description = "Execute Javascript code",
|
||||
permissions = { "scriptcraft.evaluate" },
|
||||
toolTip = "/js javascript expression")
|
||||
public void jsCommand(MessageReceiver sender, String[] args) {
|
||||
public void jsCommand(MessageReceiver sender, String[] args) {
|
||||
|
||||
executeCommand(sender, args);
|
||||
}
|
||||
|
||||
/*
|
||||
groupmod permission add visitors canary.jsp
|
||||
groupmod permission add visitors canary.command.jsp
|
||||
|
@ -128,7 +131,7 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
description = "Run javascript-provided command",
|
||||
permissions = { "" },
|
||||
toolTip = "/jsp command")
|
||||
public void jspCommand(MessageReceiver sender, String[] args) {
|
||||
public void jspCommand(MessageReceiver sender, String[] args) {
|
||||
|
||||
executeCommand(sender, args);
|
||||
}
|
||||
|
@ -148,10 +151,12 @@ public class ScriptCraftPlugin extends Plugin implements PluginListener, Command
|
|||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@TabComplete (commands = { "js" })
|
||||
public List<String> jsComplete(MessageReceiver sender, String[] args){
|
||||
return complete(sender, args, "js");
|
||||
}
|
||||
|
||||
@TabComplete (commands = { "jsp" })
|
||||
public List<String> jspComplete(MessageReceiver sender, String[] args){
|
||||
return complete(sender, args, "jsp");
|
||||
|
|
Reference in a new issue