AnotherReports
A full-featured player report plugin with i18n, GUI, SQLite, and Discord webhook support
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
AnotherReports

---
Overview
AnotherReports is a structured and production-ready moderation plugin for Paper 1.21.4 (Java 21).
It provides a complete report workflow system including:
- Player report submission - GUI-based moderation panel - Report history system - SQLite persistent storage - Discord webhook integration - Anti-spam protection - YAML-based multilingual system - Asynchronous database and webhook operations
Designed for clean architecture, performance stability, and long-term maintainability.
---
Compatibility
- API Version: Paper 1.21.4 - API Version: 21 - API Version: 1.21
---
Player Reports
Command
``` /report <player> <description> ```
Rules
- Target must be online - Self-reporting is not allowed - Description length: 5–200 characters - Duplicate prevention within 2 minutes - Per-player cooldown - Rate limit protection
---
Moderator Interface
Command
``` /reportlist ```
Features
- 45-slot paginated GUI - Click to open detailed report view - Accept / Reject actions - Integrated history viewer
Status System
- OPEN - ACCEPTED - REJECTED
---
Report History
Command
``` /reporthistory <player> [page] ```
- 10 entries per page - Stored in SQLite
Tracked Data
- Reporter - Target - Description - Status - Reviewed by - Creation timestamp - Review timestamp
---
Multilingual System
Language files location:
``` plugins/AnotherReports/lang/ ```
Supported Languages
- en.yml (English) - uk.yml (Ukrainian) - ru.yml (Russian) - de.yml (German) - es.yml (Spanish) - pl.yml (Polish)
You can add additional languages by creating new YAML files.
Config Example
``` language: "en" ```
Features
- YAML-based translation files - Automatic fallback to English - Placeholder support - No hardcoded GUI or message strings - Reload support via /reports reload
---
Discord Webhook Integration
Config Example
webhook: enabled: true url: "" username: "AnotherReports" avatarUrl: "" mentionRoleId: ""
Triggers
- On report creation - On accept - On reject
All webhook operations are asynchronous and do not block the main server thread.
---
Anti-Spam System
Config Example
cooldownSeconds: 60 maxReportsPer10Minutes: 3
Includes
- Per-player cooldown - Rate limiting - Duplicate detection
---
Permissions
- reports.use — Use /report - reports.admin — Access moderation panel and history - reports.notify — Receive new report notifications
---
Commands
``` /report <player> <description> — Submit report ``` ``` /reportlist — Open moderation GUI ``` ``` /reporthistory <player> — View history ``` ``` /reports reload — Reload configuration and language files ``` ---