Everything in PermissionsEx is based around the subject. A subject is a user, group, server console, irc bot, or any other object that has permissions access. Each subject is composed of segments which each have a set of permissions, options, and inheritance that are active when the segment's set of parameters matches.
Permissions exist in a tree structure where each node has a weighting. A permission is split by the
. character, and each segment can be set to a value.
Options are a simple key-value mapping. When multiple locations
Any subject can inherit from any other subject.
Contexts are tags that can be applied to a segment that restrict the segment's applicability to a certain player state. Sponge provides several contexts and PermissionsEx applies a few more, but any plugin can add its own contexts (for example a region protection plugin could add a
region context to allow for region-specific permissions). When PermissionsEx calculates permissions for a set of active contexts, any segment whose set of contexts is a subset of the subject's active contexts will be considered.
Tags applied to the current server (in
Only active before this time
Only active after the provided time
after-time, PermissionsEx supports a variety of formats:
ISO Date Time:
ISO Time Relative to Today:
Tue, 3 Jun 2008 11:05:30 GMT
PermissionsEx Relative Time Format:
+1d2h-3m (more on this later)
Seconds since Epoch:
PermissionsEx Relative Time Format
Times in PermissionsEx can be expressed in terms of the current time. The format is as follows:
A leading sign (
Quantity (such as
Unit (such as
m for minute)
A relative time must always begin with a sign, however the same sign will be used until a new one is specified before a later quantity.
Here is a table of the current supported units:
For example, to express 3 days from now, the following can be used:
2 days, 4 minutes less 16 seconds can be expressed in the following way:
In this way, administrators will be able to easily specify times relative to the current time.