Skip to content

Permissions

Permission nodes, defaults, the permission manager and providers.

Type Kind Description
FilePermissionProvider class The built-in backend: groups (weighted, inheriting, with prefix and suffix) and per-player overrides, stored in permissions.json.
IPermissionProvider interface A permission backend: answers “does this player have this node?” with an explicit value or no opinion.
McPermissionAttribute class Declares a permission node of a source plugin (the permissions array of plugin.json): [assembly: McPermission("homes.use", Default = "true", Description = "Use /home")].
NativePermissionTable class Feeds the engine’s permission table (docs/agents/permissions.md): declares node defaults, sets and changes the rules of a player, claims the table, and reads its statistics.
NativeRule struct A rule of the engine’s permission table: a node or pattern over a context pattern, with a layer and a value.
NativeTableStats struct The engine’s permission table counters.
Permission class A declared permission node: its name, default and description.
PermissionDefault struct What a permission node is worth when no group or player entry decides it.
PermissionManager class The server’s permission system: declared nodes with defaults, the active backend (IPermissionProvider) and the question “does this player have this node?”.
PermissionValue enum The three-valued answer of a permission provider.
PluginPermissions class Permissions as seen by one plugin (plugin.Permissions): declare the nodes it uses, query players, and optionally replace the backend.