EventForge
AI-designed server events, built and run entirely by your server — no client mod, ever.
EventForge turns a single sentence from an operator into a fully built, scheduled, and hosted server event: a boss fight with custom stats and a themed arena, a procedurally generated parkour course, a PvP arena with cover, a real treasure hunt buried in your world's actual terrain with riddle clues, or a themed build challenge — all designed collaboratively with an AI through an in-game conversation, and all running on plain, unmodified Paper/Bukkit. Players never install anything.
Why EventForge
Running community events on a survival server usually means an operator manually building an arena, hand-picking a mob and its stats, writing a kit, and remembering to post about it in Discord — every single time. EventForge collapses that into one conversation:
/eventcreate a tier 2 fire-themed boss fight in a volcanic arena, decent kit with diamond gear
The AI asks a couple of clarifying questions if it needs to (survivor difficulty? PvP allowed? what's the reward?), then hands back a fully specified event. You pick a date and time through an in-game calendar, and EventForge takes it from there: building the arena, spawning and tuning the boss, posting to Discord, and delivering rewards straight to the winner's inventory — nothing left sitting on the ground for someone else to snipe.
Requirements
| Server software | PaperMC (Spigot/CraftBukkit forks with the Paper API are not supported) |
| Minecraft/Paper version | 1.21.11, or any 26.x calendar-versioned release (26.1, 26.2, ...) |
| Java | 21 (for 1.21.11 builds) or 25 (for 26.1+ builds) |
| An OpenRouter API key | Free tier available; used for the AI conversation |
| A Discord webhook URL (optional) | For event announcements — the plugin works fine without it, you just won't get Discord pings |
No client-side installation of any kind is required for players. Everything — arenas, mobs, particles, GUIs, books — is built from vanilla-compatible server-side mechanics.
Feature overview
Conversational event creation
Run /eventcreate <your idea> and describe what you want in plain English. The AI can ask up
to three follow-up questions if something important is missing (theme, difficulty, what's in
the kit, what the reward should be) — answer normally in chat, or with /eventforge reply. Once
it has enough to work with, it finalizes the event and it's ready to schedule. Multiple events
can be designed and pending at once, each tracked by name.
Six distinct event types, not just a label
Every event type actually generates something different, not a reskinned copy of the same room:
- Boss fight — any vanilla mob as the base, with AI-controlled health, damage, speed, and
size (via Minecraft's real
generic.scaleattribute — genuine giant or tiny bosses, hitbox included), status effects, and a behavior archetype: brute (melee rusher), sniper (a naturally ranged vanilla mob, boosted range), or swarmer (periodically calls in allied reinforcements while it's alive). Themed dyed-leather armor gives it a distinct look with zero resource packs or client mods. While it's alive, the arena fills with themed ambient particles — flame and embers for fire, snowflakes and cloud for ice, portal swirls for the end, dripping water and bubbles for ocean — plus a bigger "burst" animation (a rising flame column, a snow flurry, a spinning portal ring, a splash) that recurs roughly every 10 seconds. - Parkour — a real procedurally generated jump course, 12 to 20 jumps depending on difficulty tier, randomized gaps and height changes, with a safety net far below so a missed jump costs time, not your inventory. A button at the finish delivers the reward.
- PvP arena — a themed platform with scattered cover pillars for actual tactical play, not an empty box.
- Treasure hunt — genuinely different from the rest: a chest is buried 3–6 blocks deep in real terrain, hundreds of blocks from spawn, with no button or teleporter pointing straight at it. Instead, participants get a written book containing several independent, AI-written riddle clues — direction from spawn, distance band, rounded X, rounded Z, dig depth — with none of them individually giving the spot away. You have to combine them and actually go dig.
- Build challenge — a themed plot plus a briefing book describing the prompt and theme, for operators to judge afterward.
- Custom — anything that doesn't fit the above, using the same flexible arena system.
Real rewards, delivered properly
Loot is never left on the ground. Boss kills hand the reward directly to whoever landed the killing blow (vanilla drops are suppressed entirely, not just supplemented). Reward buttons and treasure chests work the same way — straight to inventory, first-come-first-claimed per event.
A real calendar, not a text field
/eventschedule <name> opens an actual in-game calendar GUI — click through months, pick a day
(past dates are grayed out), then type the time in military format (2030 or 20:30, either
works), then pick a time zone from a searchable, paginated list covering every IANA zone in the
world. No memorizing UTC offsets.
Multiple concurrent, independently named events
Design and schedule several events at once. Every downstream command — joining, moving the reward button, pointing the teleporter — takes the event's name, so there's no ambiguity about which event you're configuring.
Operator-placed, coordinate-aware infrastructure
The event teleporter and reward buttons are placed exactly where you want them — stand there and
run the command, or pass explicit coordinates directly (/eventteleporter "Ashen Wyrm" 100 65 -200). Arena locations themselves are randomized and never posted publicly (not even in
Discord), so events stay a bit of a surprise until you point people at them.
Discord integration
Optional, but recommended: post a webhook URL once (via the in-game setup wizard, no rebuild needed) and every scheduled/live event gets an announcement with its type, description, reward, and your server's connect address.
In-game setup — no file editing required
/eventforge setup walks you through pasting your OpenRouter key and Discord webhook straight
through private chat. Saved immediately to config.yml, live, no restart.
Installation
- Download the jar for your server's Minecraft version (see the file list — builds are named
like
eventforge-<version>-paper<mcversion>-all.jar). - Drop it into your server's
plugins/folder. - Restart the server.
- In-game, as an operator, run
/eventforge setupand follow the prompts for your OpenRouter API key and Discord webhook URL. - (Optional) Set your server's connect address in
config.yml'sserver-ipfield, so it shows up in Discord announcements. - Run
/eventteleporter <event name> [x y z]once you've got your first event scheduled, to place a permanent "TP to Event" button wherever you want your event hub to be.
Command reference
| Command | Who can use it | What it does |
|---|---|---|
/eventcreate <idea> |
Operators | Starts (or continues) an AI conversation to design an event. Describe the type, theme, and difficulty; the AI may ask follow-up questions. |
/eventschedule <name> |
Operators | Opens the calendar GUI for a finalized, pending event. Quote the name if it has spaces. |
/eventjoin <name> |
Everyone | Joins or leaves the roster for a specific scheduled event. Quote the name if it has spaces. |
/eventteleporter <name> [x y z] |
Operators | Places (or moves) the wall-mounted teleporter button, pointed at the named event. Coordinates are optional and space-separated (no commas) — omit them to use your current position and facing. |
/eventbutton <name> [x y z] |
Operators | Moves a named event's reward button. Only applies to event types that use an auto-placed button (PvP arena, build challenge, custom) — parkour's button is tied to its course, and treasure hunts use a buried chest instead. |
/eventhuntstart [x y z] |
Operators | Sets where treasure hunt participants get teleported in when a hunt goes live (defaults to world spawn until set). Not tied to a specific event name, since it configures a default for future hunts. |
/eventforge setup |
Operators | Prompts for your OpenRouter API key and Discord webhook URL via private chat. Saves immediately, no restart. |
/eventforge reply <message> |
Anyone with something waiting on a reply | Answers an AI follow-up question, a setup prompt, or the scheduling flow's time prompt — without needing to type in normal chat. |
/eventforge ai |
Anyone | Prints a full breakdown of everything you can specify in an /eventcreate prompt, with an example. |
/eventforge help |
Anyone | Lists every command. Also triggered by running /eventforge with no arguments. |
Permissions
| Node | Default | Covers |
|---|---|---|
eventforge.admin |
Operators (op) |
/eventcreate, /eventschedule, /eventteleporter, /eventbutton, /eventhuntstart, /eventforge setup |
/eventjoin, /eventforge reply, /eventforge ai, and /eventforge help are open to everyone
by default.
A complete example, start to finish
/eventcreate a swarmer-type wither skeleton boss in an end-themed arena, tier 3, reward of a few netherite ingotsThe AI may ask something like "What should be in the starting kit for participants?" — answer in chat: "Full iron gear and a stack of golden apples." It finalizes the event as "Voidcaller's Wrath"./eventschedule "Voidcaller's Wrath"— pick a date on the calendar, type2100for 9 PM, and selectAmerica/Chicagofrom the timezone list. The arena builds immediately, in the sky, themed to the end (purpur and end stone, portal-particle ambience once it's live)./eventteleporter "Voidcaller's Wrath" 0 80 0— places the teleporter at world spawn's general area, or wherever your event hub is.- Players run
/eventjoin "Voidcaller's Wrath"ahead of time. - At the scheduled moment: joined players are teleported in, kitted with iron gear and golden apples, the wither skeleton boss spawns with its tier-3 stats and periodically summons reinforcements, portal particles swirl through the arena, and Discord gets a full announcement. Whoever lands the kill gets the netherite ingots straight to their inventory.
Notes
- Arena locations are randomized in the sky (or, for treasure hunts, real terrain far from spawn) and are never shown in any public-facing message — only to the operator who scheduled the event, privately.
- Reward buttons and treasure chests are strictly first-come-first-claimed per event, not per player, so they can't be farmed repeatedly.
- Multiple builds are provided for different Minecraft/Paper versions — grab the one matching your server. If your server's exact version isn't listed, the closest older 1.21.x build will very likely still work (Paper's public API is designed for backward compatibility), but hasn't been specifically tested against it.

