Kode
Kode is a plugin that allows users to create their own functionality without writing traditional code. With Kode, scripts are written in plain English-style commands and can act like mini plugins
Kode
{Kode}
*Script your server without writing Java.*
🌐 Website • 📖 Documentation • 🖱️ Visual Scripter • 💬 Discord
---
★ Don't want to type? Script visually in your browser — no install needed! ★
→ Open the Visual Scripter at kode.viirless.net/scripter ← *Drag nodes · Connect them · Download your .kode file · Done.*
---
What is Kode?
Paper and Spigot 1.21+ is a plain-text scripting plugin for Paper and Spigot 1.21+. Drop a `.kode` file into `plugins/Kode/scripts/`, run `/kode reload`, and your script goes live — no Java, no compilation, no server restarts.
Whether you want a simple join message, a full coin economy, or custom level rewards — Kode handles it all in a clean, Python-like syntax that anyone can learn in minutes. And if typing isn't your thing, the free Visual Scripter on the website lets you build scripts by dragging and connecting nodes right in your browser.
---
✦ Visual Scripter
No code? No problem. The online Visual Scripter at No code? No problem. is a full drag-and-drop node editor:
- Drag events, actions, variables, and control-flow nodes onto the canvas - Wire them together with a click - Hit Free and download your finished `.kode` file - Free, runs in any browser, no account or install required
Event: PlayerJoin ──→ Send Message: "&aWelcome, {player.name}!" └──→ Give Item: bread × 4 └──→ Title: "&6Welcome!"
Command: /kit ──→ Give Item: iron_sword × 1 ──→ Play Sound: BLOCK_CHEST_OPEN
---
Features
- 📝 No Java Required – Build scripts online by dragging nodes — no typing required. 📝 No Java Required - 📝 No Java Required – Edit any `.kode` file and run `/kode reload`. Changes go live instantly with zero restarts - 📝 No Java Required – Define `/kit`, `/balance`, or any slash command with a `command /name:` block. No plugin.yml needed - 📝 No Java Required – Lock any command behind a permission node with `[permission: myserver.use]`. Set a custom denial message with `[no-permission: "&cAdmins only!"]` - 📝 No Java Required – Add per-player cooldowns to any command with `[cooldown: 60]` (seconds) - 📝 No Java Required – Save and load data across restarts with `store` and `load`. Per-player balances, visit counters — all built in - 📝 No Java Required – `if/else`, `while`, `for`, `switch/case`, `try/catch`, `break`, `continue` — a complete language - 📝 No Java Required – Define reusable functions with parameters and return values. Namespace them across scripts - 📝 No Java Required – React to PlayerJoin, BlockBreak, EntityDeath, PlayerInteract, FurnaceSmelt, EntityDamageByEntity, and more — with optional entity type filters - 📝 No Java Required – String, math, and server functions: `len`, `contains`, `replace`, `random`, `round`, `pow`, `online()`, `world()`, `hasPermission()`, and more - 📝 No Java Required – Set player game mode (`gamemode creative`), world weather (`weather clear`), and world time (`time day`) directly from scripts - 📝 No Java Required – Call EssentialsX, Vault, or any other plugin with `execute` (as player) or `console` (as server) - 📝 No Java Required – Scripts can talk to each other with `emit` and `on customEvent:` - 📝 No Java Required – Completely standalone. No API knowledge, no build tools, no IDE
---
Quick Example
Welcome players and reward milestones
on PlayerJoin: send "&aWelcome back, player.name!" to player load $visits from visits_player.name set $visits = $visits + 1 store visits_player.name $visits set $count = online() send "&7There are &e$count&7 players online." to player
if $visits == 1: give player diamond 1 send "&bFirst visit reward: 1 Diamond!" to player
Locked command with custom denial message and cooldown
command /daily [permission: myserver.daily] [no-permission: "&cYou can't claim daily rewards."] [cooldown: 86400]: give player diamond 3 give_xp 500 send "&aDaily reward claimed! See you tomorrow." to player
World control — admin commands
command /day [permission: myserver.time]: time day weather clear send "&eThe sun rises!" to player
command /gmc [permission: myserver.gmc]: gamemode creative send "&aCreative mode enabled." to player
Level milestone rewards
on PlayerLevelChange: switch player.level: case 10: give player iron_sword 1 send "&7Level 10 reward: Iron Sword!" to player case 25: give player diamond_sword 1 broadcast "&bplayer.name reached Level 25!" case 50: give player netherite_sword 1 broadcast "&5player.name reached Level 50!"
---
Installation
1. Download `kode-1.4.1.jar` and drop it into your `plugins/` folder 2. Start or restart your server 3. Kode creates `plugins/Kode/scripts/` and installs example scripts automatically 4. Edit or create `.kode` files, then run `/kode reload` 5. Or visit kode.viirless.net/scripter to build scripts visually and download them
That's it. No configuration required to get started
---
Commands & Permissions
- `/kode reload` — Reload all scripts from disk - `/kode run <name>` — Manually execute a script's top-level block - `/kode list` — List all loaded scripts
Alias: `/kd` — Permission: `kode.use` (default: OP)
---
Requirements
- Paper or Spigot 17 or newer - Paper or Spigot 1.21.1+ - ❌ Not supported: CraftBukkit, Forge, Fabric
---
Resources
- 🌐 Website — Full landing page with feature overview - 🖱️ Visual Scripter — Build scripts online with drag-and-drop nodes - 📖 Documentation — Complete reference: variables, events, actions, functions, examples - 💬 Discord — Get support, share scripts, and suggest features
---
© 2026 Kode. All rights reserved. Redistribution, resale, or re-release of this software in original or modified form is strictly prohibited.