Subject
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.TODO
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.Context Key | Example Value | Description |
server-tag | creative | Tags applied to the current server (in permissionsex.conf ) |
before-time | 2020-07-01T08:00:00 | Only active before this time |
after-time | 2008-04-01T00:00:00 | Only active after the provided time |
When using
before-time
and after-time
, PermissionsEx supports a variety of formats:- ISO Date Time:
2011-12-03T10:15:30
or2011-12-03T10:15:30+01:00
or2011-12-03T10:15:30+01:00[Europe/Paris]
- ISO Time Relative to Today:
10:15
or10:15:30
or10:15:30+01:00
- ISO Date:
2011-12-03
2011-12-03+01:00
- RFC 1123:
Tue, 3 Jun 2008 11:05:30 GMT
- PermissionsEx Relative Time Format:
+1d2h-3m
(more on this later) - Seconds since Epoch:
1578779386573
PermissionsEx Relative Time Format
Times in PermissionsEx can be expressed in terms of the current time. The format is as follows:
- A leading sign (
+
or-
) - Quantity (such as
2
) - 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:
- Seconds:
second
,seconds
,s
- Minutes:
minute
,minutes
,m
- Hours:
hour
,hours
,h
- Days:
day
,days
,d
- Weeks:
week
,weeks
,w
- Months:
month
,months
- Years:
year
,years
For example, to express 3 days from now, the following can be used:
+3d
2 days, 4 minutes less 16 seconds can be expressed in the following way:
+2d4m-16s
In this way, administrators will be able to easily specify times relative to the current time.
Last modified 2yr ago