Two plugins fighting over the same thing

Plugins & Mods Reviewed September 6, 2026 2 min read

A conflict does not usually announce itself. Nothing errors; something just behaves oddly — a command does the wrong thing, a protection does not apply, chat formatting is doubled. Here is how to find it without reading forty configs.

What you are seeing

  • A command runs, but the wrong plugin answers it.
  • Chat messages appear twice, or with two prefixes.
  • A protection plugin lets something through that it should stop.
  • Behaviour changed after installing something unrelated.
  • It works after a restart and stops working an hour later.

Why it happens

Plugins listen to the same events and register the same commands. When two of them handle /home or both react to a block being broken, the order they loaded in decides which one wins — and load order can change between restarts, which is why the symptom sometimes moves.

Bisection: four restarts instead of forty

  1. Move half your plugins out of the folder

    Into a disabled folder next to it. Restart and test.

  2. Follow the half that misbehaves

    If the problem is gone, it is in the half you removed. If it is still there, it is in the half you kept.

  3. Halve again

    Twenty plugins becomes ten, then five, then two. Four or five restarts finds one plugin out of forty.

  4. Confirm with just the two

    Run the suspect pair alone. If the behaviour reappears, you have your conflict and can go and read those two configs specifically.

Command conflicts have a direct fix

Most commands can be called by their full name — /essentials:home rather than /home — which bypasses the ambiguity entirely. Plugins that register commands can also usually be told to yield them in their own config, and doing so is cleaner than removing one.

Do not delete anything while investigating

Move plugins out of the folder rather than deleting them. Their config and data folders stay where they are, so putting one back is a drag-and-drop and not a reconfiguration.

How to confirm it worked

With all plugins back and the conflict resolved, the behaviour is correct through two consecutive restarts — one is not enough, because load order varies.