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