Configuration
Everything you can tune in the configuration files.
On this page
Files
| File | What it holds |
|---|---|
config.yml | Global defaults: timing, points, rewards, protection, sounds, update notice and the panel. |
events/<id>.yml | One file per event: its own rules, plus optional overrides of settings, points and rewards. See Events for every key. |
lang/messages.yml | Every chat line, title and event description. |
lang/gui.yml | The join menu and the admin menu. |
lang/bossbars.yml | The five boss bars. |
arenas/<event>/<name>.yml | Arenas, written by the setup commands. Arena setup |
backup/2.x/ | Your 2.x files, kept when the plugin upgraded itself. |
/aevent reload re-reads all of these except the jar. When a newer jar adds a key to a file, the key is added to your copy on start, with its comment; nothing you changed is touched.
Settings and timing
Under settings in config.yml. Any event can override any of these under its own settings.
| 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. |
settings.waiting-duration | 20s | Lobby countdown before each round. |
settings.round-start-countdown | 10s | Frozen countdown once players are on their spawns. |
settings.countdown-switch-to-title | 3 | At this many seconds left, the countdown switches from the action bar to a full-screen title. |
settings.results-display-duration | 200 ticks | How long the final results stay before players are sent out. |
Points
points:
1: 3
2: 2
3: 1
Points awarded for each placement in a round. Players who tie share the placement, and every player in a tie gets that placement's points. Placements not listed score nothing. The final ranking adds the points up and uses the event score (kills, catches, ...) to break ties.
Rewards
rewards:
enabled: true
final:
1: ["money give {player} 500"]
2: ["money give {player} 250"]
3: []
participation: ["money give {player} 25"]
round-win: []
Console commands, run when an event ends. final is by final placement, participation is for everyone who finished the event and round-win is for each round's winner or winners. Placeholders: {player}, {uuid}, {event} (the id), {place} and {points}. A leading / is optional. An event file can replace any of these lists for that event only; rewards.enabled: false there switches rewards off for it.
Protection
protection.lobby
prevent-building, prevent-breaking, prevent-dropping, prevent-pickup, prevent-damage, prevent-pvp, prevent-hunger, prevent-commands (all default true), plus allowed-commands:, the command prefixes that stay usable (default event, event join, event leave, spawn).
protection.arena
prevent-dropping, prevent-pickup, prevent-hunger (default true). What a player may break, place or hit in the arena is decided by each event's rules, not by keys here.
spectator.teleport-to-alive-on-elimination (default true) sends an eliminated player to watch a random player who is still alive. Both the lobby prevent-building and prevent-breaking keys and this one are read now; they were ignored before 3.0.
Sounds
One block per 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 name), volume and pitch. An invalid name is skipped.
Update notice
update-checker:
enabled: true
repo: "alpha-m19/alphaevent-plugin"
notify-ops-on-join: true
Every six hours the plugin asks GitHub for the latest release of repo and logs a line if it is newer than the running version. Operators also get a message when they join. A newer release is a higher version number; running a newer build than the release never warns. If the repo is private or unreachable, nothing happens.
Panel
panel:
api-url: "https://alphastudio-licensing.onrender.com"
check-interval-minutes: 10
See Server approval.
Event files
Every events/<id>.yml starts with the same keys, then has the rules of its own event (documented per event on the Events pages).
enabled: true # false = /aevent start refuses this event
round-time: 90 # seconds, 0 = no limit
settings: # optional: replaces config.yml for this event only
rounds: 5
max-players: 8
points: # optional
1: 1
rewards: # optional
final:
1: ["give {player} diamond 3"]
When round-time runs out the round ends and the survivors (or the leaders, for score events) take the placements.
Text files
Everything players read is in lang/. The default look is the AlphaStudio pink theme: accent #E619E6, white body text, #555555 separators, green only for success, red for danger, and &8 menu titles. Static text is in small-caps letters.
| Token | Meaning |
|---|---|
{prefix} | The AlphaEvent prefix. Every chat line starts with it. |
{event} / {objective} | The running event's name and one-line goal (events.<id>.name / objective). |
{player}, {round}, {countdown}, ... | Filled in by the line that uses them; the default file shows which. |
Colours are &#RRGGBB (or the old &f, &8 codes). MiniMessage tags work too, for example a clickable <click:run_command:/event join>. Each event has its own block under events: in messages.yml with its name, goal, the line shown under GO and any lines only it uses.
Menus
lang/gui.yml holds two menus, both 27 slots with no filler panes and titles in &8.
| Key | Meaning |
|---|---|
join-gui | What players see when an event opens. Items have slot, material, name, lore and action (JOIN, SPECTATE, CLOSE; anything else does nothing). Tokens: {event}, {objective}, {participants}, {max}, {round}, {total_rounds}. The item in slot 13 shows the running event's icon. |
admin-menu | The menu /aevent opens: the five categories, then the events in a category. Back is slot 21 and Close is slot 22. |
The join menu opens for everyone online when joining starts, and for anyone who joins the server during the announcement.
Boss bars
lang/bossbars.yml defines five bars, each with text, color and style:
| Bar | Shown during |
|---|---|
joining-countdown | The join phase |
waiting-countdown | The lobby countdown |
round-active | From the round-start countdown through the live round |
round-ending | Restoring the arena after a round |
event-ending | The final results |
Tokens: {event}, {countdown}, {round}, {total_rounds}, {alive} and {time} (empty for rounds without a time limit). color accepts PINK, PURPLE, BLUE, GREEN, YELLOW, RED or WHITE (RED if unrecognised). style accepts SOLID or NOTCHED_6, 10, 12 or 20.
Upgrading from 2.x
The first start of 3.x does this, once:
- Copies
messages.yml,gui.yml,bossbars.yml,config.ymlandarena.ymltobackup/2.x/. - Writes the new
config.yml, keeping your values forsettings,points,protection,spectator,soundsandpanel. - Moves the Spleef tool, floor blocks and elimination Y into
events/spleef.yml. A tool name or lore you never edited is not carried over, so the new pink look applies. - Converts
arena.ymlintoarenas/spleef/main.yml. - Creates the new
lang/files from the defaults.
backup/2.x/ next to the new one and copy over what you want. Spleef players can now hit each other only if pvp: true is set in events/spleef.yml; it was open by accident before.