Vanilla Permissions
This mod adds permission checks into vanilla, to allow for full permission customization.
- You need to have a permissions mod installed. (e.g. LuckPerms) (Any permission provider mod that supports fabric-permissions-api is also supported.)
Permissions
Table formatting is broken on CurseForge, for a comprehensive list of all added permissions take a look at the github page
Commands
Command permissions use the node system of brigadier. Each node has its own
permission, e.g. to get access to the /gamemode survival
command minecraft.command.gamemode
permission is required
for access to the /gamemode
command node, and minecraft.command.gamemode.survival
is required to be able to run
/gamemode survival
. If you wish to grant full access to a command you need to give access to all child nodes, e.g.
minecraft.command.gamemode.*
.
Quality of Life
Server Side
If the mod is installed server-side, it will make clients think they're OP. This allows players with appropriate permissions to place operator blocks and access the gamemode switcher menu.
Execute Command
- Includes another condition:
/execute if permission <entity> <permission>
to allow datapacks to check permissions (e.g./execute if permission @s group.admin run say I am an admin
) Modifiers
- The
feedback
modifier/execute feedback [silent | console]
or/execute feedback entity <entity>
is used to silence, or redirect command feedback (e.g./execute feedback silent run gamemode creative
) - The
oplevel
modifier/execute oplevel <level>
or/execute oplevel <targets>
can be used to reduce the op permission level of the command source context, this can be useful if you want to run a command as a user (from functions or console), but want bypass permissions to work (e.g./execute as DrexHD oplevel entity @s run rtp
, this will use the op level of the playerDrexHD
instead of the actual command executor for checking permissions likertp.bypass
)
- The
Client Side
If the mod is installed on the client, the gamemode switcher can also be accessed, if the player has access to the command, but isn't OP (useful for spigot-based servers)!