This repository has been archived on 2021-07-14. You can view files and clone it, but cannot push or open issues or pull requests.
scriptcraft/bukkit.md

50 lines
2.9 KiB
Markdown
Raw Normal View History

2013-01-05 00:53:33 +01:00
Bukkit Support
==============
I've created a Bukkit Plugin version of ScriptCraft. Because the Bukkit API is open, it's possible to do a whole lot more in the Bukkit Plugin version than in the original MCP (Minecraft Coder Pack) version.
The Bukkit Plugin version is also *much easer to install*.
2013-01-05 01:52:01 +01:00
Prerequisites
=============
You will need to install Rhino (A javascript implementation for java) if it is not already installed.
To check if Rhino is already installed type...
java org.mozilla.javascript.tools.shell.Main
... at a command prompt. If Rhino is installed you should see the following...
js>
If Rhino is not already installed you can [download it][1], unzip it and copy the js.jar file to ...
* Macintosh - /System/Library/Java/Extensions/
* Windows - C:\jdk\jre\lib\ext (assuming the Java Dev Kit has been installed in c:\jdk)
* Linux (Ubuntu) - /usr/lib/jvm/java-6-openjdk-i386/jre/lib/ext/ or /usr/lib/jvm/java-7-oracle/jre/lib/ext/ for Oracle Java
[1]: https://developer.mozilla.org/en/RhinoDownload
Installation
============
If you don't want to compile from source, you can [download the compiled plugin here][dl] and copy it the craftbukkit's plugins directory.
Post Install
============
If you want certain javascript source files to load automatically when you start up your CraftBukkit server, do the following...
2013-01-05 13:29:47 +01:00
* Create a new js-plugins directory in the CraftBukkit directory.
* Copy all of the .js files located in the scripts directory to the newly-created js-plugins directory.
2013-01-05 01:52:01 +01:00
... All files in the js-plugins directory will be automatically loaded when CraftBukkit starts.
2013-01-05 09:31:41 +01:00
*Only players who are ops can use this plugin.* You can grant a player `op` privileges by adding them to the ops.txt file in your craftbukkit directory.
I need to add further (java level) security permissions to the plugin so that ops using the `js` command have limited access to the filesystem and OS.
2013-01-05 01:52:01 +01:00
Additional information
======================
Because the Bukkit API is open, all of the Bukkit API is accessible via javascript once the ScriptCraft plugin is loaded. For example, in addition to the functions provided in the MCP version of ScriptCraft, there are a couple of useful Java objects exposed via javascript in the Bukkit ScriptCraft plugin...
* plugin - the ScriptCraft Plugin itself. This is a useful starting point for accessing other Bukkit objects. The `plugin` object is of type [org.bukkit.plugin.java.JavaPlugin][api] and all of its properties and methods are accessible. For example... `js plugin.getServer().getMotd()` returns the server's message of the day.
* self - The player/command-block or server console operator who invoked the js command. Again, this is a good jumping off point for diving into the Bukkit API.
[dl]: http://walterhiggins.net/blog/files/scriptcraft.jar
[api]: http://jd.bukkit.org/apidocs/org/bukkit/plugin/java/JavaPlugin.html