Skip to content

ColinChartier/OverPermissions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#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.

Syntax markers

  • ( ) 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 as values...
  • | marks multiple options, such as [value | 'literal']

Defining time

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages