TDXPlugins
TDX LeaderboardsConfiguration

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

plugins/TDXLeaderboards/config.yml
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

KeyTypeDefaultNotes
enabledbooleantrueMaster switch.
thresholdslistOrdered list of { position, message, commands }.
<n>.positionintThe leaderboard position the player must reach (or beat).
<n>.messagestringMiniMessage line, sent to the player. %board% is substituted.
<n>.commandslistConsole 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.