Paper/Spigot/Bukkit
PermissionsEx is supported on Paper, Spigot, and Bukkit, at versions 1.8.8, 1.12.2, and latest. While other versions may work, we don't actively test on those versions and issues will not be prioritized.
We override the Superperms system to follow our own matching rules. Apart from specific changes to match in a more pex-friendly way, we attempt to match standard Bukkit permission resolution as closely as possible (in terms of following permission parents, op/not op defaults, etc).
To expose PEX information to plugins that only use superperms, several metapermissions are provided. These are:
Permission
Usage
group.<group>
Added with the name of each group the player is in, including inherited groups.
groups.<group>
same as above
options.<option>.<value>
Added for each option set on the player, including options inherited from parents.
prefix.<prefix>
The player's prefix.
suffix.<suffix>
The player's suffix.
Note: these permissions are not visible through Vault or PEX's API -- both provide better ways to access the same data.
Contexts
Context Key
Example Value
Description
world
world_nether
The name of the world a subject is currently in
dimension
nether
The name of the dimension a subject is currently in
remoteip
127.0.0.1
The IP address a subject is connecting from
localhost
myminecraftserver.com
The hostname a client is connecting to the server with
localip
[2607:f8b0:400a:801::200e]
The ip (on the server) that is receiving the connection from a subject
localport
25565
The port (on the server) that the client is connecting to
Plugin integrations
PermissionsEx integrates with some plugins to provide additional permissions features. While the goal is for each of these plugins to bundle their own integrations, during PEX development many of these are included in PEX itself.
Plugin
Integration
Source
WorldGuard
region
context for every region in the player's applicable region set
PEX
Vault notes
Vault is the standard permissions API to allow more extensive permissions operations on Bukkit. While Vault provides more functionality than the standard Superperms API, its model of permissions does not match PermissionsEx's entirely.
Vault permission queries in a world that is not the player's active world do not provide accurate contexts. Because Vault only provides a world field, we only replace the
world
context in the player's active contexts. Any other location-based contexts, such as those for the current dimension or for any active regions, are not updated.Permissions and options can only be set in the global context or the context for just one world. Setting data does not use active contexts.
Last updated