AnotherReports

A full-featured player report plugin with i18n, GUI, SQLite, and Discord webhook support

9

AnotherReports

AnotherReports - Minecraft Plugin

---

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 ``` ---

ADS