Rewards
What players get for claiming a rank or completing a quest.
Rewards run in two places: when a rank is claimed (the rank's rewards: block) and, optionally, the moment a single quest completes (that quest's own rewards: block). Both use the same options.
rewards:
money: 5000
xp-levels: 5
items:
- "DIAMOND:8"
commands:
- "crates give {player} vote 3"
broadcast: trueReward options
| Key | What it gives | Needs |
|---|---|---|
money | Deposited into the player's balance | Vault + an economy plugin |
xp-levels | Vanilla experience levels added | nothing |
items | A list of "MATERIAL:amount" entries. If the inventory is full, the rest drops at the player's feet | nothing |
commands | One-time prize commands run the moment the rank is claimed. {player} is replaced with the player's name | nothing |
broadcast | Rank rewards only: announce this promotion in global chat. Default true | nothing |
Commands are one-time claim prizes
The commands list runs once, at the moment the rank is claimed. Use it for prizes that should only ever be handed out on a real rank up: crate keys, cosmetics, kits.
commands:
- "crates give {player} vote 3"
- "broadcast {player} just ranked up!"Do not put your LuckPerms rank command here. rewards.commands only fires on a genuine claim, so it never runs for a fresh player on Rank I and never runs when you setrank someone. Set the actual permission group with on-reach instead, which fires every time a player lands on the rank.
Per-quest rewards
Any quest can carry its own rewards: block with money, xp-levels, items, and commands (no broadcast). It fires exactly once, the moment the quest reaches its target, alongside the quest-completed chat message.
quests:
seeds:
type: DELIVER_ITEM
material: WHEAT_SEEDS
amount: 256
rewards:
money: 500
items:
- "BREAD:16"See Quests for where this sits in the quest definition.
The promotion broadcast
When a rank is claimed, the plugin can announce it to the whole server ("✦ Player advanced to Rank II! ✦"). Two switches control it:
progression.broadcast-promotionsinconfig.ymlis the global toggle.broadcastinside a rank'srewards:block turns it off for that one rank.
The message text lives in the language files. See Messages.