TDXPlugins
TDX LeaderboardsConfiguration

monthly

Reset schedule — monthly, weekly, or biweekly with configurable day and hour.

The monthly block decides when a leaderboard period ends and the next one begins. Despite the name, it supports weekly and biweekly cycles too.

Quick example

plugins/TDXLeaderboards/config.yml
monthly:
  reset-period: monthly  # monthly | weekly | biweekly
  reset-day: 1           # 1st of month, or day of week if weekly
  reset-hour: 0          # 0..23, server-local time
  announce: true         # broadcast a chat message at the moment of reset

That's it. The plugin computes the next reset on every start and on every /lbadmin reload.

Reference

KeyTypeDefaultNotes
reset-periodstringmonthlyOne of monthly, weekly, biweekly.
reset-dayint1Day of month (1–28 safe, 29+ skipped on short months) or day of week.
reset-hourint0Hour of day in server local time, 0–23.
announcebooleantrueBroadcast a server-wide message when the period rolls over.

How "weekly" interprets reset-day

When reset-period: weekly, reset-day is day of week, with Monday as 1 and Sunday as 7 (ISO-8601). So reset-day: 1, reset-hour: 6 resets every Monday at 06:00 server time.

What happens at reset

In order, on the configured tick:

  1. The current period's leaderboards are frozen.
  2. Every player's position on every board is computed.
  3. Rewards from the rewards block fire (per board, per position).
  4. The frozen period is archived to the history table for later lookup.
  5. Counters are zeroed for the new period (only for DELTA boards; CURRENT and ACCUMULATE boards are unaffected).
  6. The optional Discord webhook posts a recap embed.

You can manually trigger this with /lbadmin reset. It's safe to run outside the scheduled time, but it counts as the real reset for that period — there's no "test mode."