Bug Fixes 🐛
🧑🌾 Villager Permissions Fixes
- Fixed a bug where Villager trading was not properly restricted by permissions.
- Fixed a bug where Villager attack protection was not functioning correctly.
- Fixed Villager interaction permissions (syntax and logic):
- Changed from
interact.villager.<ns>.<path>tovillagers.interact.<ns>.<path> - Changed from
interact.villager.<ns>.*tovillagers.interact.<ns>.* - Changed from
interact.villager.*tovillagers.interact.*
- Changed from
Note: This version is primarily designed for 1.21.8 and 1.21.9. It may also work with version 1.21.10 under certain circumstances, but it does not receive direct support for use with 1.21.10.
🧑🌾 Villager Permissions
- Added new
VillagerPermissionHandlerfor trading and protection:- Controls right-click interactions and trading with Villagers and Wandering Traders.
→ Uses new nodes:interact.villager.<ns>.<path>(e.g.interact.villager.minecraft.villager)interact.villager.<ns>.*,interact.villager.*
- Controls attacking Villagers and similar entities.
→ Uses new nodes:villagers.attack.<ns>.<path>(e.g.villagers.attack.minecraft.villager)villagers.attack.<ns>.*,villagers.attack.*
- Supports
villagers.allow_default,villagers.bypass, andmod.allow.<ns>for global overrides.
- Controls right-click interactions and trading with Villagers and Wandering Traders.
- Trading logic was moved out of
InteractPermissionHandlerto the new dedicated class for cleaner separation.
🐮 Animal Permissions
- Extended
AnimalsPermissionHandler:- Added attack protection for all passive mobs.
→ New permission setanimals.attack.*(entity-specific handling, supports<ns>.<path>resolution). - Matches
MonstersPermissionHandlerstructure for unified logic and consistency.
- Added attack protection for all passive mobs.
🧱 Refactoring & Consistency
- Unified permission check structure across all entity handlers (
Monsters,Animals,Villagers). - Consistent naming convention for all bypass and default permissions:
<category>.allow_default<category>.bypass
- Standardized permission feedback messages in
PermConfig(multi-language ready).
📘 Documentation
- Updated Permission Reference in
README.mdto reflect:- Added Villager-related permission nodes.
- Removed Villager section from Interact category.
- Improved formatting and grouping by system (Blocks, Entities, Environment, etc.).
- Added example permission strings and notes for LuckPerms behavior.



