The suggestion update. Everything asked for in the reviews is here — level caps, an item whitelist, compensation and per-rank bypasses — plus a few things that made sense to build alongside them.
Don't ban it — control it
Until now AntiEnchants had one answer for everything: delete it. Now you choose how hard to hit:
- Level caps — put sharpness: 3 in level-caps and every Sharpness IV/V on the server quietly becomes Sharpness III. Applies everywhere the purge does.
- Item whitelist — exempt-items: [ "*_SWORD", "*_AXE", "BOW" ] and the plugin keeps its hands off weapons entirely. Wildcards supported.
- Per-world rules — ban fortune in the resource world only, cap efficiency in the mining world only. Each world merges its own extras on top of the global rules.
- Permission bypasses — antienchants.bypass.mending for that donor rank or quest reward, antienchants.bypass.* for staff. Every node defaults to FALSE, so your ops don't skip the rules without you knowing.
Fewer "where did my enchant go?" tickets
- Players get told — configurable messages when their items are stripped, capped or compensated. Leave them empty for the old silent behaviour.
- Compensation (off by default) — stripped a banned enchant off someone's rare find? Hand them XP bottles, emeralds, whatever you configure, globally or per enchantment.
- Audit log (off by default) — every strip lands in strips.log with when, who, where and what. The next "your plugin stole my sword" claim takes ten seconds to settle.
- Blocked at the source — the enchanting table, anvil and grindstone now show clean results BEFORE the player pays, instead of charging first and purging afterwards.
- No more dead books — an enchanted book that loses everything turns into a plain book instead of a useless empty one.
Admin tools
- /ae list — what's banned and capped right now.
- /ae check — point it at the item in your hand.
- /ae add, /ae remove, /ae cap <key> <level|off> — edit the rules in-game; everything is written back to config.yml.
Housekeeping
- Your config updates itself on startup: new options appear with their comments, your edited values stay untouched. The 1.0.0 upgrade path is covered by automated tests.
- Villager trade blocking now also catches over-cap results, not just banned ones.
- bStats added (anonymous; opt-out in plugins/bStats/config.yml).
No breaking changes: drop the jar in and your old config keeps working.