Vanilla Permissions
The Vanilla Permissions mod integrates a permission checking system into Minecraft's standard mechanics, providing complete control over permissions.
Main Features
For the mod to work, installation of a permission management plugin such as LuckPerms or any other compatible with fabric-permissions-api is required.
Permissions
| Permission | Description |
|---|---|
minecraft.adminbroadcast.receive |
Receiving command feedback |
minecraft.bypass.spawn-protection |
Building in spawn protection area |
minecraft.bypass.force-gamemode |
Bypassing forced game mode |
minecraft.bypass.move-speed.player |
Ignoring movement speed checks |
minecraft.bypass.move-speed.vehicle.<entity> |
Bypassing speed checks while riding vehicles |
minecraft.bypass.chat-speed |
Disabling kicks for fast message sending |
minecraft.bypass.whitelist |
Server access without whitelist |
minecraft.bypass.player-limit |
Bypassing player limit restrictions |
minecraft.command.<command> |
Command permissions |
minecraft.debug_stick.use.<block> |
Using debug stick on blocks |
minecraft.debug_chart |
Viewing debug charts |
minecraft.<query/load>.<entity/block> |
Working with block NBT data and debug commands |
minecraft.operator_block.<type>.<action> |
Interacting with operator blocks |
minecraft.selector |
Using entity selectors in commands |
Metadata
Metadata (also called options or variables) allows fine-tuning selector behavior.
| Metadata | Type | Description |
|---|---|---|
minecraft.selector.limit.<selector> |
Integer | Limiting the number of selectable entities |
minecraft.selector.weight.<selector> |
Integer | Selector weight for priority selection |
Commands
The mod uses Brigadier's node-based permission system. Each command consists of multiple nodes, each with its own permissions.
For example, for the /gamemode command:
- Root node requires
minecraft.command.gamemode - Subordinate nodes use
minecraft.command.gamemode.survival,minecraft.command.gamemode.creative, etc.
Configuration example:
Allow:
minecraft.command.gamemode
Deny:
minecraft.command.gamemode.creative
minecraft.command.gamemode.spectator
This allows players to use /gamemode but restricts them to only permitted game modes.
Selectors
Command blocks and datapacks bypass all selector permission checks. By default, the minecraft.selector permission allows using any selectors.
Scope Control
Use the following permissions to define selector scope:
minecraft.selector.entity.<selector>minecraft.selector.player.<selector>minecraft.selector.self.<selector>
Simple configuration example:
Allow:
minecraft.command.waypoint
minecraft.selector
Deny:
minecraft.selector.player.waypoint.
minecraft.selector.entity.waypoint.
Wildcard Support
For simplification, you can use wildcards, for example teleport.* to cover all teleport command selectors.
Quality Improvements
Server Side
When installed on the server, the mod makes clients think they are operators, allowing players with appropriate permissions to place operator blocks and use the game mode switcher menu.
Execute Command
Added new conditions:
/execute if permission <entity> <permission>for checking permissions in datapacksfeedbackmodifier for managing command feedbackoplevelmodifier for changing operator permission levels
Client Side
When installed on the client, the game mode switcher menu is available even for non-operators, which is useful for Spigot-based servers.