Мод для Майнкрафт, который добавляет в ванильную игру гибкую проверку прав. Он позволяет выдавать и запрещать доступ к отдельным командам, их аргументам, селекторам сущностей и административным действиям без изменения самих команд.
Возможности
- Управляет доступом к получению отзывов команд, строительству в защищённой зоне спавна, обходу принудительного режима игры, лимита скорости передвижения, белого списка и лимита игроков.
- Разрешает отдельно использовать отладочную палку, отладочный график, блоки с NBT-данными и операторские блоки: командный блок, блок-структуру и пазл-блок.
- Проверяет права для каждого узла команды. Например, можно разрешить
/gamemode, но запретить режимы творчества и наблюдателя черезminecraft.command.gamemode.creativeиminecraft.command.gamemode.spectator. - Ограничивает работу селекторов в командах: отдельно для себя, других игроков и сущностей, а также задаёт максимальное число выбираемых целей.
- Позволяет задать вес выбора для селекторов: игрок может воздействовать только на цели с весом не выше его собственного.
- Добавляет условия и модификаторы
/execute: проверку права через/execute if permission <entity> <permission>, отключение или перенаправление отзывов команд черезfeedback, а также понижение уровня оператора черезoplevel. - При установке на сервере игроки с нужными правами могут пользоваться операторскими блоками и меню выбора режима игры. При установке на клиенте меню режима игры доступно и неоператорам, которым разрешена соответствующая команда.
Как пользоваться
Права команд строятся по их дереву аргументов. Сначала выдайте право на корневую команду, затем при необходимости запретите отдельные ветви:
Allow:
minecraft.command.gamemode
Deny:
minecraft.command.gamemode.creative
minecraft.command.gamemode.spectator
Общее право minecraft.selector разрешает использовать селекторы в доступных командах. Для точного контроля применяйте minecraft.selector.entity.<selector>, minecraft.selector.player.<selector> и minecraft.selector.self.<selector>. В части имени после селектора можно использовать маску, например teleport.*.
Для ограничения числа целей задайте метаданные minecraft.selector.limit.<selector>, а для иерархии доступа — minecraft.selector.weight.<selector>.
Командные блоки и датапаки обходят проверки прав селекторов.
Требования и совместимость
Нужен мод-провайдер прав, например LuckPerms, либо другой провайдер с поддержкой fabric-permissions-api. Для масок в метаданных LuckPerms требуется дополнительный мод.
