Quill icon

Quill -----

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

Code (Text):

// 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.
Resource Information
Author:
----------
Total Downloads: 4
First Release: Nov 14, 2025
Last Update: Nov 17, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings