From 4a434dfdd2ccb25d0195ef85816c667152c6ee53 Mon Sep 17 00:00:00 2001 From: walterhiggins Date: Mon, 7 Jan 2013 23:48:43 +0000 Subject: [PATCH] reorog --- bukkit-plugin/.classpath | 11 ++++ bukkit-plugin/.project | 17 +++++ .../ScriptCraft/plugin.yml | 0 .../scriptcraft/IScriptCraft.java | 0 .../scriptcraft/ScriptCraftBukkit.java | 0 .../scriptcraft/ScriptCraftEvaluator.java | 0 .../scriptcraft/ScriptCraftPlugin.java | 0 bukkit-plugin/plugin.yml | 9 +++ {bukkit => bukkit-plugin}/scriptcraft.jar | Bin .../scriptcraft/ScriptCraftPlugin.java | 59 ++++++++++++++++++ {scripts => js-plugins}/bukkit/events.js | 0 .../bukkit/hello-bukkit.js | 0 {scripts => js-plugins}/castle.js | 0 {scripts => js-plugins}/cottage.js | 0 {scripts => js-plugins}/dancefloor.js | 0 {scripts => js-plugins}/drone.js | 0 {scripts => js-plugins}/fort.js | 0 {scripts => js-plugins}/temple.js | 0 .../CommandScript.java | 0 .../IScriptCraft.java | 0 .../ScriptCraftEvaluator.java | 0 .../ScriptCraftMCP.java | 0 .../ServerCommandManager.patch | 0 .../optional}/GuiIngame.patch | 0 24 files changed, 96 insertions(+) create mode 100644 bukkit-plugin/.classpath create mode 100644 bukkit-plugin/.project rename {bukkit => bukkit-plugin}/ScriptCraft/plugin.yml (100%) rename {bukkit => bukkit-plugin}/ScriptCraft/src/net/walterhiggins/scriptcraft/IScriptCraft.java (100%) rename {bukkit => bukkit-plugin}/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftBukkit.java (100%) rename {bukkit => bukkit-plugin}/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftEvaluator.java (100%) rename {bukkit => bukkit-plugin}/ScriptCraft/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java (100%) create mode 100644 bukkit-plugin/plugin.yml rename {bukkit => bukkit-plugin}/scriptcraft.jar (100%) create mode 100644 bukkit-plugin/src/net/walterhiggins/scriptcraft/ScriptCraftPlugin.java rename {scripts => js-plugins}/bukkit/events.js (100%) rename {scripts => js-plugins}/bukkit/hello-bukkit.js (100%) rename {scripts => js-plugins}/castle.js (100%) rename {scripts => js-plugins}/cottage.js (100%) rename {scripts => js-plugins}/dancefloor.js (100%) rename {scripts => js-plugins}/drone.js (100%) rename {scripts => js-plugins}/fort.js (100%) rename {scripts => js-plugins}/temple.js (100%) rename CommandScript.java => mcp-deprecated/CommandScript.java (100%) rename IScriptCraft.java => mcp-deprecated/IScriptCraft.java (100%) rename ScriptCraftEvaluator.java => mcp-deprecated/ScriptCraftEvaluator.java (100%) rename ScriptCraftMCP.java => mcp-deprecated/ScriptCraftMCP.java (100%) rename ServerCommandManager.patch => mcp-deprecated/ServerCommandManager.patch (100%) rename {optional => mcp-deprecated/optional}/GuiIngame.patch (100%) 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