SQLPerms API

Feb 7, 2015
SQLPerms API
  • SQLPerms (API)

    This page is part of a series of SQLPerms documentation pages
    Overview:
    SQLPerms has an API to allow other plugins to interact with it in various ways. Below is the documentation on each part of the API.

    Getting the SQLPerms instance:
    To use the SQLPerms API in your plugin, you first need to get an instance of the main class like so:
    Code (Text):

    for(Plugin plugin : Bukkit.getServer().getPluginManager().getPlugins()){
        if(plugin instanceof SQLPerms){
            sqlPerms = ((SQLPerms) plugin); break;
        }
    }
     
    You should run this code in your onEnable method, and store the sqlPerms variable for later use.

    Getting a player's rank:
    To get a player's rank, you need the channel that you wish to check. Once you have this, get a player's rank like so:
    Code (Text):
    String rank = sqlPerms.getDataStore().getRank(player.getUniqueId(), "channel");
    Each rank is represented in a String which is the name of the rank. There is no "Rank" or similar object in SQLPerms.

    Setting a player's rank:
    To set a player's rank, you need the channel in which you want to set their rank, and the name of the rank you would like to set. The first step in setting a player's rank is to call the following DataStore method:
    Code (Text):
    sqlPerms.getDataStore().setRank(player.getUniqueId(), "channel", "rank");
    Then, if the player is online, run the following code to trigger an event to make the rest of the plugin update that players rank (prefix, permissions, etc.):
    Code (Text):

    PlayerChangeRankEvent playerChangeRankEvent = new PlayerChangeRankEvent(player, newRank, previousRank);Bukkit.getServer().getPluginManager().callEvent(playerChangeRankEvent);
     
    If the player is not online at the time of the rank change, you do not need to call this event.

    Note:
    When setting or getting a player's rank you can pass in a UUID that represents a currently offline player. To get a UUID from a name (online or offline) run the following code:
    Code (Text):
    UUID uuid = sqlPerms.getUtil().getUUID("john01dav");
    Get a rank's prefix:
    To get the prefix of a rank, you need a string with the rank's name in it. Once you have this, do the following:
    Code (Text):
    String prefix = sqlPerms.getConfigManager().getPermissionsConfigurationManager().getPrefix(rank)
    When you do this, the returned string will be un-formatted. To format it, do the following:
    Code (Text):
    String formattedPrefix = ChatColor.translateAlternateColorCodes('&', prefix);
  • Loading...
  • Loading...