Kode is a plain-text scripting plugin for Minecraft. Drop a .kode file, run /kode reload — done.
# Runs every time a player joins on PlayerJoin: send "&aWelcome, player.name!" to player give player bread 4 title "&6Welcome!" subtitle "&7Enjoy your stay" # Custom command — no plugin.yml needed command /kit: give player iron_sword 1 give player cooked_beef 16 sound BLOCK_CHEST_OPEN send "&aKit delivered!" to player
A complete scripting environment packed into a single drag-and-drop jar.
Edit a .kode file, run /kode reload. Changes go live in seconds with zero server restarts.
Define /kit, /balance, or any command with a simple command /name: block. No plugin.yml required.
Save and load data across restarts with store and load. Per-player data, coin balances, visit counters — all built-in.
if/else, while, for, repeat, switch/case, try/catch, break, continue — a complete language with Python-like indentation.
Define reusable functions with parameters and return values. Namespace them across scripts with define math:clamp().
Call EssentialsX, Vault, or any other plugin's commands with execute (as player) or console (as server).
Listen to 20+ built-in Minecraft events — player joins, block breaks, level changes, deaths, and more — with a single line.
emit between your own scriptson PlayerLevelChange: switch player.level: case 10: give player iron_sword 1 send "&fLevel 10 reward!" to player case 25: give player diamond_sword 1 title "&bLevel 25!" subtitle "Diamond unlocked" broadcast "&bplayer.name reached level 25!" default: send "&7Level player.level. Keep going!" to player
Create /balance, /kit, /hub — or any command — with a command /name: block. Arguments are automatically available as $arg1, $arg2, $argc.
execute$arg1, $args, $argcstore / loadcommand /balance: load $coins from coins_player.name send "&6Balance: &e$coins coins" to player command /pay: if $argc == 0: send "&cUsage: /pay <amount>" to player return load $coins from coins_player.name if $coins < $arg1: send "&cNot enough coins." to player return store coins_player.name $coins - $arg1 send "&aSpent $arg1 coins!" to player command /hub: execute "warp hub" # runs as the player
Drop the jar in your plugins folder and write your first script in under a minute.