A Bukkit plugin to allow plugin development in various languages including support for command registration and handling all events.
- Ability to hook into any bukkit event.
- Support for registering bukkit command handlers.
- Support for autoreloading of script files when they change.
- Open Source License
- Supports Groovy
- Supports Ruby
- Supports Python
- Includes basic examples for supported languages.
Originally developed for dreamcraft.org.
Some trivial example scripts can be found here.
/script <name> <arguments>
Force any scripts and libraries to be reloaded. If 'classpath' is specified it will also reload the classpath.
If set to true, automatically recompile scripts when they are modified.
The path to load extra jar files from, the first time the plugin is loaded, the included groovy, ruby and python jars will be extracted to this location. You are free to delete any language runtime jars you are not using, they will only be recreated if the lib directory does not exist when the plugin starts.
When invoking scripts via the /script command, given them their own scope so that their globals are private, if false they will execute in the same context as library scripts. You should leave this true unless you use JRuby, which unfortunately has an issue with handling scopes correctly.
Allow modification of the variable names passed into scripts.Code (YAML):SERVER: 'server'
System properties to set before creating a script engine. Some script engines use system properties to control their behaviour, the default configuration includes many of these with sensible defaults.
List of script files to load as libraries. Libraries have the ability to hook into Bukkit events, and any functions they provide are available to scripts executed via /script. The default looks for a file called 'plugins/EasyScript/library.js', you can add as many as you want, and split up functionality between library scripts sanely.
List of folders under plugins/EasyScript to search for named scripts when a user executes /script <name>. By default /script searches for named scripts under plugins/EasyScript/scripts/<name>.js.
Modify your server in the scripting language of your choice whilst it's running.