Home›Java›Mods›DisciplinePlus ➔ Advanced Warn, Mute & Blacklist System | LuckPerms Hook & GUI [SQLite/MySQL]
ModsJava
DisciplinePlus ➔ Advanced Warn, Mute & Blacklist System | LuckPerms Hook & GUI [SQLite/MySQL]
Complete discipline system with auto-escalation, global mute, LuckPerms job restriction, interactive
⬇ Download on SpigotDisciplinePlus
An Advanced, Lightweight & Smart Moderation System for Roleplay & Survival Servers
Supports Spigot / Paper 1.16 - 1.21+ | SQLite & MySQL | Dual Language (EN / FA)
Join Discord Support | ▶ YouTube Channel
---
DisciplinePlus is a feature-rich, high-performance moderation plugin designed for Minecraft servers (especially Roleplay and Survival). It seamlessly unifies three critical punishment mechanics: **Warnings (Warn)**, **Global Mutes**, and **Blacklists**.
With built-in **LuckPerms integration**, staff hierarchy checks, auto-escalation, async database handlers, and an interactive **GUI**, managing your server's discipline has never been easier or safer!
---
✦ KEY FEATURES
- Smart Warn System: Expiration timers per warning, severity weights (Minor/Major), permanent warnings, and automatic escalation to Blacklist when max warning points are reached.
- LuckPerms Integration (Job Restriction): Blacklisted players are automatically blocked from receiving restricted LuckPerms groups (e.g., Police, Medic, Government). Even direct LuckPerms group additions are intercepted via API!
- Global Mute System: Mutes across all chat channels with Paper chat compatibility and custom duration parsing (`1m`, `5h`, `2d`, `permanent`).
- Smart Blacklist & Escalation: Manual & Automatic blacklists with duration multipliers for repeat offenders. Complete history is retained forever.
- Interactive GUI: Open a player's discipline profile with `/discipline <player>` to view status badges (Clean, Warned, Blacklisted) and execute punishments directly.
- Staff Hierarchy & Anti-Spam: Prevent lower-tier staff from punishing higher-tier staff, plus configurable cooldowns to prevent warning spam.
- Dual Language Support: Built-in English (`en`) and Persian (`fa`) translations. Zero hardcoded messages!
- Database Storage: Fully asynchronous **SQLite** (default) or **MySQL** for network servers.
- Developer Friendly API & Events: Asynchronous API and custom Bukkit events for external plugin integrations.
✦ COMMANDS & PERMISSIONS
| Command | Description | Permission |
| /warn <player> <reason> [--severity=minor|major] [--permanent] | Issue a warning to a player | disciplineplus.warn |
| /unwarn <player> <id> | Remove a specific warning by ID | disciplineplus.unwarn |
| /warns <player> | View active warnings of a player | disciplineplus.warn |
| /mute <player> <reason> <duration|permanent> | Globally mute a player | disciplineplus.mute |
| /unmute <player> | Unmute a player | disciplineplus.unmute |
| /mutes <player> | View active mute status | disciplineplus.mute |
| /blacklist add <player> <duration> <reason> | Manually blacklist a player | disciplineplus.blacklist.add |
| /blacklist remove <player> | Remove a blacklist | disciplineplus.blacklist.remove |
| /blacklist check <player> | Check current blacklist status | disciplineplus.blacklist.check |
| /blacklist history <player> | View entire blacklist history | disciplineplus.blacklist.history |
| /setjob <player> <job> | Assign a LuckPerms job with blacklist check | disciplineplus.setjob |
| /discipline <player> | Open player's discipline GUI file | disciplineplus.gui |
| /discipline log <player> | View audit logs of actions taken | disciplineplus.gui |
| /discipline reload | Reload configuration & language files | disciplineplus.reload |
| /discipline help | Displays filtered command help | Everyone (Filtered) |
Bypass Permission:
Code (Text):
disciplineplus.bypass
---
✦ CONFIGURATION (config.yml)
Spoiler: Click to view default config.yml
language : en # Active language: fa or en
storage:
type : sqlite # sqlite (default) or mysql
mysql:
host : localhost
port : 3306
database : disciplineplus
username : root
password : ""
warns:
max-warns : 3 # Total warning weight limit before auto-blacklist
expire-hours:
minor : 72 # Minor warn expiration in hours
major : 120 # Major warn expiration in hours
severity-weights:
minor : 1 # Minor warn weight
major : 2 # Major warn weight
staff-cooldown-seconds : 10 # Cooldown between warnings from same staff to same player
auto-blacklist-duration : "7d" # Automatic blacklist duration when reaching max warn weight
blacklist:
duration-days : 7 # Default manual blacklist duration if unspecified
restricted-jobs : # LuckPerms groups blocked for blacklisted players
- police
- medic
- government
escalation:
enabled : true # Increase duration for repeated blacklists
multiplier : 1.5 # Duration multiplier per previous blacklist
mute:
default-duration : "1h" # Default mute duration when triggered via GUI
staff-hierarchy:
enabled : false # If true, staff cannot punish equal or higher ranks
ranks : # Index 0 = highest rank
- owner
- admin
- moderator
- helper
---
Code (YAML):
language : en # Active language: fa or en
storage:
type : sqlite # sqlite (default) or mysql
mysql:
host : localhost
port : 3306
database : disciplineplus
username : root
password : ""
warns:
max-warns : 3 # Total warning weight limit before auto-blacklist
expire-hours:
minor : 72 # Minor warn expiration in hours
major : 120 # Major warn expiration in hours
severity-weights:
minor : 1 # Minor warn weight
major : 2 # Major warn weight
staff-cooldown-seconds : 10 # Cooldown between warnings from same staff to same player
auto-blacklist-duration : "7d" # Automatic blacklist duration when reaching max warn weight
blacklist:
duration-days : 7 # Default manual blacklist duration if unspecified
restricted-jobs : # LuckPerms groups blocked for blacklisted players
- police
- medic
- government
escalation:
enabled : true # Increase duration for repeated blacklists
multiplier : 1.5 # Duration multiplier per previous blacklist
mute:
default-duration : "1h" # Default mute duration when triggered via GUI
staff-hierarchy:
enabled : false # If true, staff cannot punish equal or higher ranks
ranks : # Index 0 = highest rank
- owner
- admin
- moderator
- helper
✦ DEVELOPER API & EVENTS
DisciplinePlus offers a fast, thread-safe memory-cached API:
Code (Java):
DisciplinePlusAPI api = DisciplinePlus. getAPI ( ) ;
boolean isMuted = api. isMuted (playerUUID ) ;
boolean isBlacklisted = api. isBlacklisted (playerUUID ) ;
long remainingMillis = api. getBlacklistRemainingMillis (playerUUID ) ;
-
Code (Text):PlayerMuteStateChangeEvent
-
Code (Text):PlayerBlacklistStateChangeEvent
✦ NEED HELP OR HAVE QUESTIONS?
If you have any questions, suggestions, or need technical support with DisciplinePlus, feel free to join our official Discord server or check out our YouTube channel!
Join Our Discord Server
▶ Subscribe on YouTube (@mr.paster8904)
You can also post your questions or bug reports in the Spigot Discussion tab!
DisciplinePlus ➔ Advanced Warn, Mute & Blacklist System | LuckPerms Hook & GUI [SQLite/MySQL] is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.20, 1.20.6 and newer. Downloaded 4 times (via Spigot). Download it and open it directly in the game.