Skip to content

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).

Plugin Processing Order
LOWEST
First
LOW
NORMAL
Default
HIGH
HIGHEST
MONITOR
Last

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

LOWEST
Protection Plugin
Checks if player can build here
❌ Cancels block placement
NORMAL
Sign Plugin
Checks if it's a sign
✅ Uncancels if it's a sign
MONITOR
Logging Plugin
Records the final result
📋 Logs the action

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

PluginRecommended SettingNotes
Towny / FactionsChat_Listener_Priority: LOWESTMay need adjustments based on your specific setup
LiteBans / BanManagerChat_Listener_Priority: HIGHFixes issue with muted players being able to chat
PlotSquaredChat_Listener_Priority: LOWESTFor plot-specific chat functionality
DenizenChat_Listener_Priority: HIGHAllows Denizen to catch chat triggers for scripts
DiscordSRVChat_Listener_Priority: LOWESTEnsures messages are filtered before being sent to Discord

Troubleshooting Decision Tree

Not sure what priority to use? Follow this flowchart:

Start Here
Is ChatControl not filtering some messages?
Yes
Try LOWEST or LOWEST-MODERN
Can muted players still chat?
Yes
Try Chat_Listener_Priority: HIGH
Using chat-dependent plugins
(Towny, Factions, etc.)?
Yes
Start with LOWEST, then try others
Still having issues?
Yes
Try each priority systematically,
restarting after each change

FAQ

Do I need to restart after changing priorities?
Yes! Always restart your server (not reload) after changing any priority settings.
What does the -MODERN suffix do?
It tells ChatControl to listen to the newer chat event introduced in Minecraft 1.16+. Some plugins use the old event, some use the new one.
How do I know which priority is right for my server?
There's no one-size-fits-all setting. You'll need to test different priorities based on your specific plugin combination and observe the results.