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).