Listener Priorities
ALWAYS RESTART
⚠️ You must restart your server (not reload) after changing any listener priority settings!
Understanding Bukkit Priorities
Bukkit uses a priority system to determine the order in which plugins process the same event (like a player sending a chat message).
How Priorities Affect Plugin Interaction
Each plugin can:
- Modify the event (change message content, recipients, etc.)
- Cancel the event (prevent it from continuing)
- Uncancel an event (override a previous cancellation)
📝 Example Scenario
ChatControl and Priority Settings
Why Priority Matters for ChatControl
⚠️ Critical Rule
As a general rule, ChatControl needs to process chat FIRST (at LOWEST priority) to properly filter messages.
If another plugin processes chat before ChatControl, messages might be sent to other systems (e.g., Discord) even if ChatControl would have blocked them.
Modern Minecraft Considerations (1.16+)
In Minecraft 1.16+, there are two different chat events that plugins can use:
Traditional Chat Event
Used by older plugins
Priority example: LOWEST
Modern Chat Event
Used by newer plugins
Priority example: LOWEST-MODERN
Tip
If you're having issues with a plugin on 1.16+, try both versions (with and without the -MODERN
suffix) to see which works best with your specific plugin combination.
Plugin Compatibility Guide
Common Plugin Settings
Plugin | Recommended Setting | Notes |
---|---|---|
Towny / Factions | Chat_Listener_Priority: LOWEST | May need adjustments based on your specific setup |
LiteBans / BanManager | Chat_Listener_Priority: HIGH | Fixes issue with muted players being able to chat |
PlotSquared | Chat_Listener_Priority: LOWEST | For plot-specific chat functionality |
Denizen | Chat_Listener_Priority: HIGH | Allows Denizen to catch chat triggers for scripts |
DiscordSRV | Chat_Listener_Priority: LOWEST | Ensures messages are filtered before being sent to Discord |
Troubleshooting Decision Tree
Not sure what priority to use? Follow this flowchart:
LOWEST
or LOWEST-MODERN
Chat_Listener_Priority: HIGH
(Towny, Factions, etc.)?
LOWEST
, then try othersrestarting after each change