AlphaEventv1.0.0

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

KeyDefaultMeaning
settings.rounds3Total rounds per event.
settings.min-players2Minimum participants to leave the joining phase — below this, the event is cancelled with a broadcast.
settings.max-players50Hard cap on participants.
settings.join-duration60sLength of the join-phase countdown.
settings.waiting-duration20sLobby countdown before each round starts.
settings.round-start-countdown10sFrozen countdown once players are teleported into the arena, before they can move.
settings.countdown-switch-to-title3At this many seconds left in the round-start countdown, the display switches from actionbar to a full-screen title.
settings.results-display-duration200 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

KeyDefaultMeaning
arena.floor-blocksSNOW_BLOCK, PACKED_ICE, ICE, GRASS_BLOCK, DIRTWhitelist of block types that can actually be broken during a round.
arena.elimination-y50Y-level a participant must fall below to be auto-eliminated.
There is no 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

KeyMeaning
join-gui.titleSupports PlaceholderAPI placeholders directly in the title.
join-gui.rowsInventory 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:

BarShown during
joining-countdownJoin phase
waiting-countdownWaiting/lobby phase
round-activeRound-start countdown through the active round
round-endingArena restoration after a round
event-endingFinal 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.