milestones
First-time top-N alerts and rewards.
Milestones are one-shot rewards that fire the first time a player reaches a top-N position on a board. They're the "gotcha, you made it!" moment that's separate from the period reset rewards.
Quick example
milestones:
enabled: true
thresholds:
- position: 10
message: "<#A8D8F0>You broke into the top 10 on %board%!</>"
commands:
- "give %player% experience_bottle 16"
- position: 3
message: "<#FF9D5E>Top 3 on %board%!</>"
commands:
- "give %player% golden_apple 1"
- position: 1
message: "<#FFD700>You took #1 on %board%!</>"
commands:
- "lp user %player% parent add board-leader"Each threshold fires once per board, per player, ever. Tracking is persisted in the database, so a player can't game it by leaving and re-joining.
Reference
| Key | Type | Default | Notes |
|---|---|---|---|
enabled | boolean | true | Master switch. |
thresholds | list | Ordered list of { position, message, commands }. | |
<n>.position | int | The leaderboard position the player must reach (or beat). | |
<n>.message | string | MiniMessage line, sent to the player. %board% is substituted. | |
<n>.commands | list | Console commands. %player%, %board%, %position% substituted. |
Milestones are evaluated on every board refresh (every update-interval
seconds). A player who jumps from #15 to #5 in one tick triggers both
the "top 10" and "top 3" thresholds in that order — they don't have to
hit each step individually.
Resetting milestone state
Milestones are tracked per-player, per-board, forever — there is no
period reset for milestone state by design. If you want a player to be
able to re-trigger a milestone (e.g. after a server-wide wipe), use
/lbadmin setstat to clear their milestone progress on a specific board.