rewards
Per-position commands and messages, plus per-board overrides.
When a leaderboard period ends, the rewards block decides what each
top-N player receives. Rewards are console commands and configurable
messages, fired in order, per position, per board.
Quick example
rewards:
enabled: true
default:
1:
commands:
- "give %player% diamond 5"
- "eco give %player% 1000"
message: "<gradient:#FFD700:#FFA500>You finished #1 this month! +5 diamonds, +$1000</gradient>"
2:
commands:
- "give %player% diamond 3"
message: "<#C0C0C0>2nd place! +3 diamonds</>"
3:
commands:
- "give %player% diamond 1"
message: "<#CD7F32>3rd place! +1 diamond</>"These rewards apply to every board unless overridden below.
Reference
| Key | Type | Default | Notes |
|---|---|---|---|
enabled | boolean | true | Master switch. |
default | map | Default rewards by position, applied to every board. | |
default.<n>.commands | list | Console commands to run for position <n>. %player% substituted. | |
default.<n>.message | string | MiniMessage string sent to the player when the reward fires. | |
per-board | map | empty | Override block keyed by board name. |
Per-board override
To give the votes board a custom #1 reward without touching the others:
rewards:
per-board:
votes:
1:
commands:
- "lp user %player% parent add vip-vote"
message: "<#FF9D5E>Top voter! You've earned the VIP Vote tag for the month.</>"The override is shallow: positions you don't specify fall back to
default. So in the example above, the votes board still uses the default
#2 and #3 rewards.
Placeholders inside reward strings
Inside commands and message, the following are substituted at fire
time:
| Token | Replaced with |
|---|---|
%player% | The player's name |
%uuid% | The player's UUID |
%board% | The board name (e.g. votes, mob_kills) |
%position% | The player's final position on the board |
%value% | The player's final tracked value |
PlaceholderAPI tokens (%vault_eco_balance%, etc.) also resolve, provided
PAPI is installed.
Players who are offline at reset time still receive their rewards on
next join — the plugin queues them in the database. The
message is shown the moment they connect; the commands fire
immediately at reset (so make sure they don't require the player to be
online — use give over tell, for instance).