Configuration
Four config files: config.yml (event rules), gui.yml (join menu), bossbars.yml, and messages.yml. Arena regions and spawn points are not in config.yml — they're set entirely in-game via /aevent and persisted to a runtime arena.yml.
Settings & timing
| Key | Default | Meaning |
|---|---|---|
settings.rounds | 3 | Total rounds per event. |
settings.min-players | 2 | Minimum participants to leave the joining phase — below this, the event is cancelled with a broadcast. |
settings.max-players | 50 | Hard cap on participants. |
settings.join-duration | 60s | Length of the join-phase countdown. |
settings.waiting-duration | 20s | Lobby countdown before each round starts. |
settings.round-start-countdown | 10s | Frozen countdown once players are teleported into the arena, before they can move. |
settings.countdown-switch-to-title | 3 | At this many seconds left in the round-start countdown, the display switches from actionbar to a full-screen title. |
settings.results-display-duration | 200 ticks (10s) | How long final results stay on screen before players are teleported to the exit. |
Points
A simple placement: points map, defaulting to:
points:
1: 3
2: 2
3: 1
Any placement not listed (4th and beyond by default) scores 0. Add more keys to award points further down the leaderboard.
Arena
| Key | Default | Meaning |
|---|---|---|
arena.floor-blocks | SNOW_BLOCK, PACKED_ICE, ICE, GRASS_BLOCK, DIRT | Whitelist of block types that can actually be broken during a round. |
arena.elimination-y | 50 | Y-level a participant must fall below to be auto-eliminated. |
pos1/pos2 coordinate-box config. Arena boundaries are entirely WorldGuard regions, set via /aevent spawnregion and /aevent arenaregion — see FAQ → How does the arena boundary actually work?Spleef tool
tool:
material: DIAMOND_SHOVEL
name: "&#C8A96Eꜱᴘʟᴇᴇꜰ ꜱʜᴏᴠᴇʟ"
lore: [...]
enchants:
EFFICIENCY: 5
UNBREAKING: 3
unbreakable: true
custom-model-data: -1
custom-model-data is only applied when ≥ 0. The tool is tagged internally so players can't break floor blocks with a lookalike diamond shovel — only the plugin-issued one works.
Protection
protection.lobby
prevent-dropping, prevent-pickup, prevent-damage, prevent-pvp, prevent-hunger, prevent-commands (all default true), plus allowed-commands: — a list of command prefixes exempted from the lock (default: event, event join, event leave, spawn).
protection.arena
prevent-dropping, prevent-pickup, prevent-hunger (default true). Block break/damage/PvP in the arena are handled separately — by the floor-blocks whitelist and the frozen round-start window, not by keys here.
protection.lobby.prevent-building / prevent-breaking are declared in config.yml but have no matching code check — lobby build/break prevention is actually enforced unconditionally, regardless of what these two keys are set to.Sounds
One block per event moment — event-start, player-join, player-leave, countdown-tick, countdown-3, countdown-go, elimination, round-win, event-end, block-break — each with sound (a Bukkit Sound enum name), volume, pitch. An invalid sound name is silently ignored rather than erroring.
gui.yml — Join menu
| Key | Meaning |
|---|---|
join-gui.title | Supports PlaceholderAPI placeholders directly in the title. |
join-gui.rows | Inventory row count (default 3 = 27 slots). |
join-gui.items.<key> | Each needs slot, material, name, lore, action. Optional: custom-model-data, unbreakable, skull-texture (Base64, PLAYER_HEAD only), enchants. |
Valid action values: JOIN, SPECTATE, CLOSE — anything else is a no-op. Default items: join (slot 11), spectate (slot 13), close (slot 15). The GUI is force-pushed to every online player the moment the join phase begins, and to anyone who joins the server mid-announce/mid-join.
bossbars.yml
Five bars, each with text (supports {countdown}, {round}, {alive} tokens), color, and style:
| Bar | Shown during |
|---|---|
joining-countdown | Join phase |
waiting-countdown | Waiting/lobby phase |
round-active | Round-start countdown through the active round |
round-ending | Arena restoration after a round |
event-ending | Final results calculation/display |
color accepts YELLOW/RED/PINK/BLUE/GREEN/PURPLE/WHITE (falls back to RED if unrecognized). style accepts SOLID or NOTCHED_6/10/12/20 / SEGMENTED_6/10/12/20.
messages.yml
A single prefix key is prepended to most messages (title/header/footer/border/broadcast-style keys are exempt). Covers join/leave, late-join-as-spectator, round start/elimination/win, final results, and every admin command's feedback. Placeholders like {player}, {round}, {countdown}, {points}, {region}, {id} are plain literal substitutions, not MiniMessage tags.
