monthly-rewards
Per-rank prizes paid out at the end of every month.
monthly-rewards.yml defines the prizes paid to the top voters when
the month rolls over. It's the once-a-month "big payout" that
sits on top of the per-vote rewards and the milestones.
Quick example
monthly-rewards:
enabled: true
announce-broadcast: true
ranks:
1:
message: "<gradient:#FFD700:#FFA500>You finished #1 voter this month! +5 diamonds, +$10k, +VIP-Voter tag.</gradient>"
rewards:
- type: command
value: "give %player% diamond 5"
- type: money
amount: 10000
- type: command
value: "lp user %player% parent add vip-voter"
2:
message: "<#C0C0C0>2nd place voter! +3 diamonds, +$5k.</>"
rewards:
- type: command
value: "give %player% diamond 3"
- type: money
amount: 5000
3:
message: "<#CD7F32>3rd place voter! +1 diamond, +$2.5k.</>"
rewards:
- type: command
value: "give %player% diamond 1"
- type: money
amount: 2500Reference
| Key | Type | Default | Notes |
|---|---|---|---|
enabled | boolean | true | Master switch. |
announce-broadcast | boolean | true | Broadcasts a "the monthly payout has fired" message to the whole server. |
ranks | map | Map of rank number → { message, rewards }. | |
<n>.message | string | MiniMessage line sent to the rank-N player. | |
<n>.rewards | list | Reward pool — same shape as vote-rewards.yml. |
When does it fire?
The monthly payout fires once on the first vote received in a new month, or on the next plugin start in a new month if no votes arrived overnight. The plugin tracks the last-paid-out month in the database, so you can never accidentally double-pay.
If you want to fire it manually (for testing or a one-off), run
/voteplus monthly.
Players who finished in a top rank but are offline when the
payout fires still receive their rewards on next join. Reward
commands actually run at payout time though, so make sure they
don't require the player to be online — use give and eco give,
not tell or xp (which silently no-op for offline players).