Reports (Module)
Configuration guide for modules/moderation/Player Reports/config.yml.
Important
Tune intake safety first (timeout, cooldown, self-report policy) before expanding reason catalog.
Module Preview

Configuration Files
modules/moderation/Player Reports/config.yml
Intake and Anti-Abuse Controls
Prompt Timeout and Cooldown
settings:
input-timeout-seconds: 60
cooldown-seconds: 180
- Purpose: Controls report input session lifetime and report spam throttle.
- Options:
- Lower timeout for faster moderation flow.
- Higher cooldown for public servers with spam risk.
Reporter History Limit
settings:
history-limit-per-reporter: 50
- Purpose: Limits stored report history entries per reporter.
- Options:
- Increase for investigation-heavy servers.
Self-Report and Cancel Behavior
settings:
allow-self-report: true
cancel-keyword: "cancel"
- Purpose: Defines whether self-report is accepted and how prompt cancellation works.
- Options:
- Disable self-report if you want stricter abuse prevention.
- Keep cancel keyword simple and memorable.
Notification Pipeline
Console Notification
notify:
console: true
- Purpose: Sends report events to server console/log stream.
- Options:
- Keep enabled for moderation auditing and external log integrations.
Reason Catalog
Each reason block under reason.<id> defines:
display_namematerial(and optionaltexture/flags)lore
Chat Reason
reason:
chat:
display_name: "<red>Chat</red>"
material: "PAPER"
- Purpose: Report verbal abuse, bypass text, or spam-like chat behavior.
Cheat Reason
reason:
cheat:
display_name: "<gold>Cheat</gold>"
material: "IRON_SWORD"
flags:
- "HIDE_ATTRIBUTES"
- Purpose: Report hack clients, unfair mechanics, exploit behavior.
Xray Reason
reason:
xray:
display_name: "<red>X-Ray</red>"
material: "DIAMOND_ORE"
- Purpose: Report suspicious ore-tracking/xray mining behavior.
Bot Reason
reason:
bot:
display_name: "<red>Bot</red>"
material: "PLAYER_HEAD"
texture: "<base64_texture>"
- Purpose: Report suspected bot/automation accounts.
- Options:
- Use custom head texture for visual distinction.
Others Reason
reason:
others:
display_name: "<gold>Others</gold>"
material: "BOOK"
- Purpose: Catch-all for violations not covered by core reason types.
Lore Design Guidelines
Lore Clarity Pattern
lore:
- "<dark_gray><smallfont:report - chat></dark_gray>"
- "<gray>Report chat abuse or bypass behavior.</gray>"
- "<yellow>Click to report</yellow>"
- Purpose: Gives players quick understanding before selecting a reason.
- Options:
- Keep lore short, direct, and action-oriented.
Recommended Moderation Workflow
- Reporter opens reason menu.
- Reporter picks reason category.
- Input prompt starts and expires by timeout.
- Cooldown prevents rapid report spam.
- Console/staff channels receive report event.
Operational Recommendation
Keep reason categories broad enough to avoid confusion, but specific enough for moderator triage.
Owner Validation
- Test prompt timeout and cancel keyword behavior.
- Test cooldown by submitting repeated reports.
- Test each reason icon/material renders correctly in GUI.
- Test console notifications include enough context for staff review.
- Test self-report policy according to your moderation rules.