GithubHelp home page GithubHelp logo

overcaste / overpermissions Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 770 KB

A feature packed, simple to use SQL based SuperPermissions system for Bukkit.

License: GNU Lesser General Public License v3.0

Java 100.00%

overpermissions's Introduction

#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

overpermissions's People

Contributors

overcaste avatar

Stargazers

Jack Stratton avatar  avatar  avatar Joshua Baldwin avatar MDCollins avatar

Watchers

Joshua Baldwin avatar  avatar  avatar

Forkers

evaryan-mmo

overpermissions's Issues

NullPointerException

Hi. I'm trying out OverPermissions and figured I'd report on this NullPointerException. OverPermission commands are still available in game, so I'm going to continue testing despite the error.

Here's an edited slice of console output:

[20:34:58 INFO]: Starting minecraft server version 1.7.9
[20:34:59 INFO]: This server is running CraftBukkit version git-Bukkit-1.7.2-R0.3-63-g8356f65-b3075jnks (MC: 1.7.9) (Implementing API version 1.7.9-R0.1-SNAPSHOT)
[20:34:59 INFO]: [OverPermissions] Loading OverPermissions v1.0.5
[20:34:59 INFO]: [OverPermissions] Enabling OverPermissions v1.0.5
[20:34:59 WARN]: java.lang. NullPointerException
[20:34:59 WARN]:    at com.overmc.overpermissions.MySQLManager.initDatabase(MySQLManager.java:48
[20:34:59 WARN]:    at com.overmc.overpermissions.MySQLManager.<init>(MySQLManager.java:32)
[20:34:59 WARN]:    at com.overmc.overpermissions.OverPermissions.initManagers(OverPermissions.java:77)
[20:34:59 WARN]:    at com.overmc.overpermissions.OverPermissions.onEnable(OverPermissions.java:33)
[20:34:59 WARN]:    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250)
[20:34:59 WARN]:    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:324)
[20:34:59 WARN]:    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404)
[20:34:59 WARN]:    at org.bukkit.craftbukkit.v1_7_R3.CraftServer.loadPlugin(CraftServer.java:448)
[20:34:59 WARN]:    at org.bukkit.craftbukkit.v1_7_R3.CraftServer.enablePlugins(CraftServer.java:382)
[20:34:59 WARN]:    at org.bukkit.craftbukkit.v1_7_R3.CraftServer.<init>(CraftServer.java:320)
[20:34:59 WARN]:    at net.minecraft.server.v1_7_R3.PlayerList.<init>(PlayerList.java:68)
[20:34:59 WARN]:    at net.minecraft.server.v1_7_R3.DedicatedPlayerList.<init>(SourceFile:14)
[20:34:59 WARN]:    at net.minecraft.server.v1_7_R3.DedicatedServer.init(DedicatedServer.java:126)
[20:34:59 WARN]:    at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:436)
[20:34:59 WARN]:    at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.