TDXPlugins
TDX VotePlusConfiguration

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

plugins/TDXVotePlus/monthly-rewards.yml
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: 2500

Reference

KeyTypeDefaultNotes
enabledbooleantrueMaster switch.
announce-broadcastbooleantrueBroadcasts a "the monthly payout has fired" message to the whole server.
ranksmapMap of rank number → { message, rewards }.
<n>.messagestringMiniMessage line sent to the rank-N player.
<n>.rewardslistReward 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).