AlphaLevelsDocs v2.0.0
AlphaLevelsReferenceConfiguration

Configuration

What lives in each configuration file.

On this page

File layout

plugins/AlphaLevels/
  config.yml # features, XP sources, sounds, theme, panel, permission remaps
  levels.yml # the level curve, rewards and objectives
  lang/messages.yml # every player-facing message
  menus/players/levels.yml, claim-confirm.yml # the two menus
  playerdata/ # runtime, one file per player
Pace and cost are separate on purpose. How fast players earn XP is in config.yml. What each level costs, and what it pays, is in levels.yml. Retuning one never needs a change to the other.

Features

features:
  xp-playtime: true
  xp-player-kill: true
  xp-mob-kill: true
  level-up-broadcast: true
  level-up-title: true
  level-up-sound: true
KeyTurns off
xp-playtime / xp-player-kill / xp-mob-killThat XP source completely.
level-up-broadcastThe server-wide announcement. The claiming player still gets a message.
level-up-titleThe on-screen title on a claim.
level-up-soundThe level-up sound.

XP sources

The rates and anti-farm options are explained with their defaults on Levels and XP.

Sounds

sounds:
  level-up: "ENTITY_PLAYER_LEVELUP"
  prestige: "UI_TOAST_CHALLENGE_COMPLETE"

Any Bukkit Sound name. The menu's own open, navigate and deny sounds are in menus/players/levels.yml, and the confirmation menu has its own. An unknown name logs Unknown sound in config.yml and is skipped.

Theme

theme:
  accent-hex: "#FF0000"
  gradient-start: "#8B0000"
  gradient-end: "#FF0000"

Every message, menu and config file supports MiniMessage directly. On top of that, any text coloured with accent-hex is upgraded to a real two-stop gradient from gradient-start to gradient-end everywhere, so authors write one flat hex instead of a gradient tag. Change the three values to recolour chat, menus and the startup banner. Run /leveladmin reload or restart.

menus/players/levels.yml is a single 54-slot catalog:

KeyMeaning
title, sizeThe menu title and its size. The shipped menu is 54 slots.
tier-slotsThe 45 slots (rows 1 to 5) used for level tiles. A 100-level cap needs 3 pages. Row 6 is navigation.
navigationPrevious page (slot 45), close (49) and next page (53).
soundsopen, navigate and deny.
tier-item.headsA base64 head texture for each of the four states: locked, in-progress, ready, claimed.
locked, in-progress, ready, claimedThe name, lore and glow of a tile in that state. {objectives} in the lore expands to the level's objectives.
milestone-marker-loreThe line added to a tile whose level hands out bonus items.

Placeholders available in the tiles are listed on Placeholders, plus {previous_level} for the locked state.

The confirmation menu

menus/players/claim-confirm.yml is a 27-slot menu. The level icon sits at slot 13, the green confirm button at 11 and the red cancel button at 15, with {level} and {money} available in the text. Its sounds have open and cancel only, because a successful claim already plays the level-up sound.

Player data

One YAML file per player in playerdata/<uuid>.yml, holding the level, XP, prestige and the per-level kill counters. Data is loaded when a player joins and saved asynchronously, and the plugin waits up to 30 seconds for pending saves when the server stops.

Reload vs. restart

/leveladmin reload re-reads config.yml, levels.yml, the messages and both menus, and restarts the playtime XP timer. It does not load a new jar, so an update needs a full restart.