Flagger
Flagger is a Paper admin-moderation plugin for reviewing flagged players, teleporting to investigate, and applying escalating punishments.
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.
Flagger
Flagger
Flagger is a Paper admin-moderation plugin for reviewing flagged players, teleporting to investigate, and applying escalating punishments with SQLite-backed history.
Features
- Flag players with reasons using `/flaggeradd <player> <reason>`. - Open a paginated flagged-player GUI using `/flagger`. - Consolidate multiple flags for the same player into one report. - Group similar flag reasons automatically. - Review flag details and punishment history in GUI menus. - Teleport to flagged players in spectator mode for safe investigation. - Punish from GUI with chat-entered reason and confirm step. - Escalating ban durations: - 1st offense: 14 days - 2nd offense: 30 days - 3rd+ offense: permanent - Configurable messages, GUI items, titles, sizes, and permissions.
Commands
- `/flagger` - Opens the flagged-player GUI. - `/flagger reload` - Reloads plugin configuration. - `/flaggeradd <player> <reason>` - Adds or increments a grouped flag report for a player.
Permissions
- `flagger.use` - Use `/flagger` - `flagger.add` - Use `/flaggeradd` - `flagger.manage` - Manage moderation GUI actions - `flagger.reload` - Use `/flagger reload`
Data Storage
- Database: SQLite - Default file: `plugins/Flagger/flagger.db` - Tracks: - grouped flag reports per player - grouped reasons/counts per report - punishment history and offense counts
Build
```powershell .gradlew.bat build ```
Output jar:
- `build/libs/flagger-1.0.0.jar`
Configuration
Main config file:
- `src/main/resources/config.yml`
You can customize:
- Punishment day lengths - Punishment execution mode: - `BAN_THEN_KILL` (default, ban first then kill) - `BAN_ONLY` - `COMMANDS` (run custom console commands instead of built-in ban/kill) - GUI titles, sizes, and button materials - Messages and placeholders - Permission node mapping
Command placeholders for `punishments.execution.commands`:
- `%player%` - `%reason%` - `%offense%` - `%punished_by%` - `%ban_until%`
Example custom command mode:
```yml punishments: execution: mode: COMMANDS commands: - "advancedban:ban %player% Flagger: %reason%" ```
Compatibility
- Paper `1.21.4` - Java `21`
License
See `LICENSE`.