- Tested Minecraft Versions:
- 1.18[VarScript]Scripting in minecraft on Groovy.
- execute scripts on Groovy by command
- create script files
- autorun files
- tab-completion for groovy syntax (not full-featured)
- script can register events and timers.
- full access to Bukkit API (or Spigot API) and other plugins
- load maven dependencies in runtime
- download and update git projectsWhy Groovy?
- It is very easy to learn. If you know Java, you are already able to use Groovy.
- Fast compilation. Groovy can be used as scripting language in runtime.
- Compiles to JVM-bytecode. This ensures a high performance.
- Fully compatible with Bukkit API and Java libraries.
- Extensible language: add a new methods to existing java classes, operator overloading, closures
- Very short code (compared to java). You can quickly type code in the console or chat.
- Import external libraries from maven in runtime with Grape.Get Started
- Download VarScript.jar to plugins/ directory
- start server
- wait until VarScript download dependencies
At first start it can take a long time! 1-5 minutes
- use command
/> println "Hello $world.name"Code examples using syntax extensionsCode (Groovy):// teleport Player1 to Player2
Player1 >> Player2Code (Groovy):// set your HP to 100
me.maxhp = 100
me.hp = 100Code (Groovy):// spawn little zombie near your location
zombie = me.spawn(Zombie)
zombie.baby = trueCode (Groovy):// give one diamond for all players
You can try these examples in chat/console with /> command, or create file .groovy in folder plugins/VarScript/scripts/ and call it by name.Code (Groovy):// suicide
Command /> allows multiline text input.
run groovy code:
/> (groovy code)
example: /> me.explode( 10 )
run script file:
/> (name) [arg1 [, arg2 [ ... , argN] ] ]
example: /> noDamage Player1show your current workspace:
show all workspaces:
change your workspace:
/ws set (name)
create new workspace:
/ws create [name]
/ws remove [name]
/ws stop [name]
/ws reload [name]
delete workspace files:
/ws delete-files [name]clone git project:
/ws git clone (url) [workspace]
next commands works in selected workspace. (/ws set name)
/ws git branch [remote|all]
/ws git log [ref]
/ws git checkout (ref) [force]
/ws git pull [remote] [branch]
/ws git fetch [remote]
delete git folder:
/ws git delete [workspace]
- me - you, as Player
- server - your bukkit server
- %PlayerName% - get player by name
- %PluginName% - get plugin by name
- %WorldName% - get world by name
- workspace - current workspace
- global - global storage of variables and workspaces