#OverPermissions
A feature packed, simple to use SQL based SuperPermissions system for Bukkit.
##API The OverPermissions classes aren't hidden from implementation, but classes in 'internal' packages are liable to change without warning.
Integration can be achieved with the Bukkit Services Manager: Bukkit.getServicesManager().getRegistration(UserManager.class).getProvider()
Requests to change or edit the API can be created in the 'Issues' page.
All externally facing methods in this implementation of the API is threadsafe, using explicit locking.
##Commands OverPermissions comes standard with commands for editing group and user data easily.
All commands support tab completion on the majority of their elements.
( )marks optional arguments, such as(world)[ ]marks required arguments, such as[group]' 'marks string literals, such as'clear'...marks a variable amount of arguments, such asvalues...|marks multiple options, such as[value | 'literal']
Time can be defined by a repeating series of [amount] [unit].
For example: 5d12h15s would be 5 days, 12 hours, and 15 seconds.
You can also use decimals, for example: .5y1.2h would be half a year, and 1.2 hours.
Months are standardized to 30 days.
###Group Command definitions ####/groupadd Adds a single permission node to a single group.
- Syntax:
/groupadd [group] [permission] (world) - Permission:
overpermissions.groupadd - Aliases:
/ga
####/groupremove Removes a single permission node from a single group.
- Syntax:
/groupremove [group] [permission] (world) - Permission:
overpermissions.groupremove - Aliases:
/gr
####/groupaddtemp Adds a temporary permission to a single group. This permission is stored apart from 'permanent' permissions, and can co-exist with them.
- Syntax:
/groupaddtemp [group] [permission] [time] (world) - Permission:
overpermissions.groupaddtemp - Aliases:
/gat
####/groupremovetemp Removes a temporary permission from a single group. Temporary permissions are stored separately from 'permanent' permissions, and can co-exist with them.
- Syntax:
/groupremovetemp [group] [permission] (world) - Permission:
overpermissions.groupremovetemp - Aliases:
/grt
####/groupcreate Creates a group with the specified name and priority. Names are unique and case insensitive.
Groups with higher priorities will override the metadata values of groups with lower priorities.
- Syntax:
/groupcreate [name] [priority] - Permission:
overpermissions.groupcreate - Aliases:
/gc,/creategroup
####/groupdelete Deletes a single group. You can't delete the default group.
Groups that have this group as a parent or child will be updated accordingly.
- Syntax:
/groupdelete [name] - Permission:
overpermissions.groupdelete - Aliases:
/gc,/creategroup
####/groupaddparent Adds a parent to a group.
Parents will add all of their nodes and metadata to the combined pool.
- Syntax:
/groupaddparent [group] [parent] - Permission:
overpermissions.groupaddparent - Aliases:
/gap
####/groupremoveparent Removes a parent from a group.
- Syntax: `/groupremoveparent [group] [parent]
- Permission:
overpermissions.groupremoveparent - Aliases:
/grp
####/groupsetmeta Sets the metadata entry at a specified key to a specified value.
If the value is 'clear' the value will be unset.
- Syntax:
/groupsetmeta [group] [key] [value | 'clear'] (world) - Permission:
overpermissions.groupsetmeta - Aliases:
gsm
###Player command definitions ####/playeradd Adds a specific permission node to a single player.
- Syntax:
/playeradd [player] [node] (world) - Permission:
overpermissions.playeradd - Aliases:
pa
####/playerremove Removes a specific node from a single player.
- Syntax:
/playerremove [player] [node] (world) - Permission:
overpermissions.playerremove - Aliases:
pr
####/playeraddtemp Adds a specific temporary permission to a single player for the specified amount of time.
- Syntax:
/playeraddtemp [player] [node] [time] (world) - Permission:
overpermissions.playeraddtemp - Aliases:
pat
####/playerremovetemp Removes a the specified temporary permission from a single player.
- Syntax:
/playerremovetemp [player] [node] (world) - Permission:
overpermissions.playerremovetemp - Aliases:
prt
####/playeraddgroup Adds a group to the specified player's group list
- Syntax:
/playeraddgroup [player] [group] - Permission:
overpermissions.playeraddgroup - Aliases:
pag
####/playerremovegroup Removes a single group from the player's group list.
- Syntax:
/playerremovegroup [player] [group] - Permission:
overpermissions.playerremovegroup - Aliases:
prg
####/playersetgroup Removes all of a player's groups, then sets the player's group to the specified group.
- Syntax:
/playersetgroup [player] [group] - Permission:
overpermissions.playersetgroup - Aliases:
groupset,playerset,psg
####/playercheck Find information on a specific node for a specific player.
This command is good if you want to check if a specified user has a specific permission.
- Syntax:
/playercheck [player] [node] (world) - Permission:
overpermissions.playercheck - Aliases:
pc