๐ชถ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. Works behind proxies, NAT, everything.
๐พ Persistent State
Script variables survive server restarts. Player scores, game states, team assignments - all automatically saved and restored.
๐ฎ Player-Friendly Syntax
Designed for non-programmers. If your players can write command block logic, they can write Quill scripts.
๐ 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");
}
}
That's it. No command blocks, no plugins for every feature, no admin intervention.
๐ฏ Perfect For
- Community Servers - Let trusted players run events
- Creative/Build Servers - Automated build competitions
- Minigame Networks - Rapid prototyping without touching code
- RPG Servers - Quest systems, boss fights, custom mechanics
- Prison/Skyblock - Player-run shops, automated systems
๐ง How It Works
For Admins:
- Install Quill (drag-drop JAR, restart server)
- Create scopes for players:
/quill scope create arena PlayerName -50 60 -50 50 100 50 whitelist - Set permissions:
/quill permission grant arena teleport - Done. Player handles the rest.
For Players:
- Run
/quill editto get editor link - Write your script in the web editor
- Save, and it's live on the server
- Test, iterate, publish your event
๐ก๏ธ Security Model
Quill is built on zero-trust principles:
- โ Scripts can ONLY affect their defined physical boundaries
- โ Function permissions are opt-in (whitelist) or opt-out (blacklist)
- โ No filesystem access, no system commands, no plugin conflicts
- โ Infinite loop detection prevents server crashes
- โ Scripts run in isolated contexts - no variable collisions
Your players get creative freedom. You keep total control.
๐ Requirements
- Minecraft Server: Bukkit, Spigot, or Paper
- Java Version: 21 or higher
- Recommended: Paper 1.20+ for best performance
๐ Installation
- Download
Quill-x.x.x.jar - Drop it in your
plugins/folder - Restart your server
- Configure editor URL in
plugins/Quill/config.yml(optional) - Create your first scope!
First-time setup takes under 5 minutes.
๐ Resources
- Documentation: Full API Reference
- Support: Discord Community
- Source Code: GitHub
๐จ Why Quill Instead of Skript?
(Yes, I hear this a lot)
Skript is great - if you're an admin writing global server logic. Quill is different - it's designed for players writing localized, sandboxed events.
| Feature | Skript | Quill |
|---|---|---|
| Sandboxed execution | โ Global scope | โ Physical boundaries |
| Player-run events | โ Admin only | โ Delegated safely |
| Permission control | โ All or nothing | โ Per-scope granular |
| Web editor | โ File-based | โ Zero setup |
| Persistence | โ ๏ธ Manual | โ Automatic |
Different tools for different server models. If you need player empowerment, Quill is built for that.
๐ License
MIT License - Free and open source forever.
โค๏ธ Credits
Created by Kohan Mathers with love for the Minecraft community.
Inspired by Skript, but designed for a fundamentally different trust model.
๐ If Quill helps your server, leave a review and star the GitHub repo!
Questions? Join the Discord or open a GitHub Issue.