Polymart is now Voxel Shop! We're upgrading many features of the site, and during this open beta you will experience occasional bugs. Learn more  
Quill icon

Quill 1.0.0

Quill is a sandboxed scripting language for Minecraft event automation.

Quill - Player-Powered Events Without Admin Babysitting

Tired of players bugging admins for every custom event? Quill lets your community run their own mini-games, arenas, and automated events - safely sandboxed, fully controlled, zero admin intervention needed.

The Problem Quill Solves

Your players want to run a PvP tournament. A parkour race. A custom boss fight. Maybe a city-wide scavenger hunt.

Traditional approach:
- Player asks admin for command blocks ❌
- Admin sets everything up manually ❌
- Admin has to supervise so nothing breaks ❌
- Event ends, cleanup is a nightmare ❌

With Quill:
- Admin creates a scope, hands it to the player ✅
- Player writes their event script in minutes ✅
- Script runs safely in its boundaries ✅
- Auto-cleanup, state persists, nothing breaks ✅

---

✨ Key Features

Sandboxed Execution
Scripts run in physical boundaries. A player's arena script can't accidentally fill your spawn with TNT or teleport everyone to the void. What happens in the scope, stays in the scope.

Event-Driven Programming
React to player actions, block interactions, mob deaths, chat messages, and more. No command blocks, no redstone contraptions - just clean, readable code.

️ Granular Permissions
Whitelist or blacklist functions per scope. Arena scripts get teleport and give but not set_block. Build zones get set_block but not kill. You control exactly what each scope can do.

✍️ Web-Based Editor
No port forwarding. No server file access. Players get a session ID, open the web editor, write their script, and it's instantly on the server.

Persistent State
Script variables survive server restarts.

Player-Friendly Syntax
Designed for non-programmers.

---

Quick Example




// A simple PvP arena that starts on command
let arena = new Scope(-50, 60, -50, 50, 100, 50);
arena.game_active = false;

OnEvent(PlayerChat) {
if chat.message == "!start" && in_region(player, arena) {
arena.game_active = true;
broadcast("Arena starting in 3... 2... 1...");

for p in arena.players {
set_gamemode(p, "survival");
give(p, "diamond_sword", 1);
heal(p);
}
}
}

OnEvent(PlayerDeath) {
if arena.game_active && in_region(player, arena) {
broadcast("{player.name} was eliminated!");
set_gamemode(player, "spectator");
}
}

---

Perfect For

* Community Servers
* Creative/Build Servers
* Minigame Networks
* RPG Servers
* Prison/Skyblock

---

How It Works

For Admins:

1. Install Quill
2. Create scopes
3. Set permissions
4. Done

For Players:

1. /quill edit
2. Write script
3. Save
4. Play

---

️ Security Model

Quill is built on zero-trust principles:

* Scripts can only affect their physical boundaries
* Whitelist/blacklist permissions
* No filesystem/system access
* Infinite loop protection
* Isolated execution contexts

---

Requirements

* Bukkit/Spigot/Paper
* Java 21+

---

Installation

1. Download JAR
2. Drop in plugins/
3. Restart
4. Configure (optional)
5. Create first scope

---

Resources

* Documentation: [https://quill.kmathers.co.uk/docs](https://quill.kmathers.co.uk/docs)
* Support: [https://discord.gg/FZuVXszuuM](https://discord.gg/FZuVXszuuM)
* GitHub: [https://github.com/kohanmathers/quill](https://github.com/kohanmathers/quill)

---

Why Quill Instead of Skript?

Feature comparison:
Skript → global
Quill → sandboxed per-scope

Web editor, permissions, persistence—it’s built for players, not just admins.

---

License
MIT

❤️ Credits
Created by Kohan Mathers

If Quill helps your server, star the repo!

Questions? Discord or GitHub Issues.

Owned
Ready to download
This resource is already attached to your account. You can download the latest file any time.

script

scripting

language

sandbox

automation