Offense system¶
/offend calculates the next level for a configured category and applies the corresponding warning, mute, or ban.
Enablement¶
LEGACY disables /offend. The current handler permits it in OFFENSE and HYBRID.
Configure a category¶
Use the category key with the command:
Spaces, underscores, and hyphens are ignored when matching category names. A target who is online and has betterpunish.offend.exempt or the legacy exemption cannot be punished through this command.
Level calculation¶
BetterPunish:
- finds non-revoked history entries whose reason key or display text matches the category;
- orders them oldest-first;
- resets the running level after a gap longer than
reset-timer-days; - also resets when the latest match is older than the timer;
- selects the next level, or keeps using the highest configured level when the count exceeds the table.
A duration value of Warning records and delivers a warning. Otherwise, the configured reason type selects a ban or mute.
Note
Revoking a matching punishment removes it from future offense counts. Ordinary expiration does not.
Audit output¶
Each use writes a local punishment record and appends a summary line to data/offenses.log. The log includes the player UUID, moderator, category, calculated level, duration, type, and timestamp. Protect this file as moderation data.