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
- Move half your plugins out of the folder
Into a
disabledfolder next to it. Restart and test. - 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.
- Halve again
Twenty plugins becomes ten, then five, then two. Four or five restarts finds one plugin out of forty.
- 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.
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.
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.
With all plugins back and the conflict resolved, the behaviour is correct through two consecutive restarts — one is not enough, because load order varies.