Subject
Last updated
Last updated
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.
When using before-time
and after-time
, PermissionsEx supports a variety of formats:
ISO Date Time: 2011-12-03T10:15:30
or 2011-12-03T10:15:30+01:00
or 2011-12-03T10:15:30+01:00[Europe/Paris]
ISO Time Relative to Today: 10:15
or 10:15:30
or 10: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.
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