diff --git a/bukkit-plugin/.classpath b/bukkit-plugin/.classpath new file mode 100644 index 0000000..bb25a46 --- /dev/null +++ b/bukkit-plugin/.classpath @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/bukkit-plugin/.project b/bukkit-plugin/.project new file mode 100644 index 0000000..2709178 --- /dev/null +++ b/bukkit-plugin/.project @@ -0,0 +1,17 @@ + + + ScriptCraft + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/bukkit/ScriptCraft/plugin.yml b/bukkit-plugin/ScriptCraft/plugin.yml similarity index 100% rename from bukkit/ScriptCraft/plugin.yml rename to bukkit-plugin/ScriptCraft/plugin.yml diff --git a/bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/IScriptCraft.java b/bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/IScriptCraft.java similarity index 100% rename from bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/IScriptCraft.java rename to bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/IScriptCraft.java diff --git a/bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftBukkit.java b/bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftBukkit.java similarity index 100% rename from bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftBukkit.java rename to bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftBukkit.java diff --git a/bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftEvaluator.java b/bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftEvaluator.java similarity index 100% rename from bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftEvaluator.java rename to bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftEvaluator.java diff --git a/bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java b/bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java similarity index 100% rename from bukkit/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java rename to bukkit-plugin/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java diff --git a/bukkit-plugin/plugin.yml b/bukkit-plugin/plugin.yml new file mode 100644 index 0000000..ca6558d --- /dev/null +++ b/bukkit-plugin/plugin.yml @@ -0,0 +1,9 @@ +name: ScriptCraftPlugin +main: net.walterhiggins.scriptcraft.ScriptCraftPlugin +version: 0.01 +commands: + js: + description: Evaluate javascript. + usage: / Javascript code + permission: ScriptCraftPlugin.js + permission-message: You don't have diff --git a/bukkit/scriptcraft.jar b/bukkit-plugin/scriptcraft.jar similarity index 100% rename from bukkit/scriptcraft.jar rename to bukkit-plugin/scriptcraft.jar diff --git a/bukkit-plugin/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java b/bukkit-plugin/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java new file mode 100644 index 0000000..c1447e4 --- /dev/null +++ b/bukkit-plugin/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java @@ -0,0 +1,59 @@ +package net.walterhiggins.scriptcraft; + +import java.io.File; +import java.io.FileReader; +import javax.script.*; + +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.command.*; + + + +public class ScriptCraftPlugin extends JavaPlugin +{ + // right now all ops share the same JS context/scope + // need to look at possibly having context/scope per operator + //protected Map playerContexts = new HashMap(); + protected ScriptEngine engine = null; + + @Override + public void onEnable(){ + if (this.engine == null){ + try{ + ScriptEngineManager factory = new ScriptEngineManager(); + File boot = new File("js-plugins2/core/_scriptcraft.js"); + this.engine = factory.getEngineByName("JavaScript"); + this.engine.put("__engine",engine); + this.engine.put("__plugin",this); + this.engine.put("__script",boot.getCanonicalPath().replaceAll("\\\\","/")); + this.engine.eval(new FileReader(boot)); + }catch(Exception e){ + e.printStackTrace(); + } + + } + } + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) + { + if(cmd.getName().equalsIgnoreCase("js")) + { + this.engine.put("__self",sender); + String javascriptCode = ""; + for (int i = 0;i < args.length; i++){ + javascriptCode = javascriptCode + args[i] + " "; + } + try{ + Object result = this.engine.eval(javascriptCode); + if (result != null) + sender.sendMessage(result.toString()); + return true; + }catch (Exception e){ + sender.sendMessage(e.getMessage()); + e.printStackTrace(); + } + return true; + } + return false; + } + +} diff --git a/scripts/bukkit/events.js b/js-plugins/bukkit/events.js similarity index 100% rename from scripts/bukkit/events.js rename to js-plugins/bukkit/events.js diff --git a/scripts/bukkit/hello-bukkit.js b/js-plugins/bukkit/hello-bukkit.js similarity index 100% rename from scripts/bukkit/hello-bukkit.js rename to js-plugins/bukkit/hello-bukkit.js diff --git a/scripts/castle.js b/js-plugins/castle.js similarity index 100% rename from scripts/castle.js rename to js-plugins/castle.js diff --git a/scripts/cottage.js b/js-plugins/cottage.js similarity index 100% rename from scripts/cottage.js rename to js-plugins/cottage.js diff --git a/scripts/dancefloor.js b/js-plugins/dancefloor.js similarity index 100% rename from scripts/dancefloor.js rename to js-plugins/dancefloor.js diff --git a/scripts/drone.js b/js-plugins/drone.js similarity index 100% rename from scripts/drone.js rename to js-plugins/drone.js diff --git a/scripts/fort.js b/js-plugins/fort.js similarity index 100% rename from scripts/fort.js rename to js-plugins/fort.js diff --git a/scripts/temple.js b/js-plugins/temple.js similarity index 100% rename from scripts/temple.js rename to js-plugins/temple.js diff --git a/CommandScript.java b/mcp-deprecated/CommandScript.java similarity index 100% rename from CommandScript.java rename to mcp-deprecated/CommandScript.java diff --git a/IScriptCraft.java b/mcp-deprecated/IScriptCraft.java similarity index 100% rename from IScriptCraft.java rename to mcp-deprecated/IScriptCraft.java diff --git a/ScriptCraftEvaluator.java b/mcp-deprecated/ScriptCraftEvaluator.java similarity index 100% rename from ScriptCraftEvaluator.java rename to mcp-deprecated/ScriptCraftEvaluator.java diff --git a/ScriptCraftMCP.java b/mcp-deprecated/ScriptCraftMCP.java similarity index 100% rename from ScriptCraftMCP.java rename to mcp-deprecated/ScriptCraftMCP.java diff --git a/ServerCommandManager.patch b/mcp-deprecated/ServerCommandManager.patch similarity index 100% rename from ServerCommandManager.patch rename to mcp-deprecated/ServerCommandManager.patch diff --git a/optional/GuiIngame.patch b/mcp-deprecated/optional/GuiIngame.patch similarity index 100% rename from optional/GuiIngame.patch rename to mcp-deprecated/optional/GuiIngame.patch