14 changed files with 65 additions and 827 deletions
@ -1,780 +0,0 @@
|
||||
package ru.simsonic.rscPermissions; |
||||
import java.util.ArrayList; |
||||
import java.util.HashMap; |
||||
import java.util.Set; |
||||
import org.bukkit.OfflinePlayer; |
||||
import org.bukkit.World; |
||||
import org.bukkit.command.CommandSender; |
||||
import org.bukkit.entity.Player; |
||||
import org.bukkit.permissions.PermissionAttachment; |
||||
import org.bukkit.permissions.PermissionAttachmentInfo; |
||||
|
||||
public class rscpAPI |
||||
{ |
||||
private final ru.simsonic.rscPermissions.MainPluginClass rscp; |
||||
protected rscpAPI(MainPluginClass plugin) |
||||
{ |
||||
this.rscp = plugin; |
||||
} |
||||
/** |
||||
* Vault support method. |
||||
* Checks if method is enabled. |
||||
* |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean isEnabled() |
||||
{ |
||||
return rscp.isEnabled(); |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Gets players primary group |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @return Players primary group |
||||
*/ |
||||
public String getPrimaryGroup(String world, String player) |
||||
{ |
||||
return rscp.settings.getDefaultGroup(); |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Check if player is member of a group. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* This method is known to return unexpected results depending on what permission system is being used. Different |
||||
* permission systems |
||||
* will store the player groups differently, It is HIGHLY suggested you test your code out first. |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerInGroup(String world, String player, String group) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Add player to a group. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAddGroup(String world, String player, String group) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Remove player from a group. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemoveGroup(String world, String player, String group) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Checks if player has a permission node. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But may return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerHas(String world, String player, String permission) |
||||
{ |
||||
Player onlinePlayer = rscp.getServer().getPlayerExact(player); |
||||
if(onlinePlayer != null) |
||||
return onlinePlayer.hasPermission(permission); |
||||
rscp.cache.calculateBasePermissions(player); |
||||
HashMap<String, Boolean> map = rscp.cache.mapPermissions.get(player); |
||||
if(map != null) |
||||
{ |
||||
Boolean value = map.get(permission); |
||||
if(value != null) |
||||
return value; |
||||
} |
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Add permission to a player. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAdd(String world, String player, String permission) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Remove permission from a player. |
||||
* |
||||
* @param world World name |
||||
* @param player Name of Player |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemove(String world, String player, String permission) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Checks if group has a permission node. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param group Group name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean groupHas(String world, String group, String permission) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Add permission to a group. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param group Group name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean groupAdd(String world, String group, String permission) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Remove permission from a group. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param group Group name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean groupRemove(String world, String group, String permission) |
||||
{ |
||||
// TO DO
|
||||
return false; |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Gets the list of groups that this player has. |
||||
* Supports NULL value for World if the permission system registered supports global permissions. |
||||
* But May return odd values if the servers registered permission system does not have a global permission store. |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @return Array of groups |
||||
*/ |
||||
public String[] getPlayerGroups(String world, String player) |
||||
{ |
||||
ArrayList<String> list = rscp.cache.getUserGroups(player); |
||||
return list.toArray(new String[list.size()]); |
||||
} |
||||
/** |
||||
* Vault permission support method. |
||||
* Returns a list of all known groups |
||||
* |
||||
* @return an Array of String of all groups |
||||
*/ |
||||
public String[] getGroups() |
||||
{ |
||||
Set<String> groups = rscp.cache.getAllPossibleGroups(); |
||||
return groups.toArray(new String[groups.size()]); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Get player's prefix |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @return Prefix |
||||
*/ |
||||
public String getPlayerPrefix(String world, String player) |
||||
{ |
||||
return rscp.cache.userGetPrefix(player); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Get players prefix |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @return Prefix |
||||
*/ |
||||
public String getPlayerSuffix(String world, String player) |
||||
{ |
||||
return rscp.cache.userGetSuffix(player); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Get player's prefix |
||||
* |
||||
* @param world World name |
||||
* @param group Group name |
||||
* @return Prefix |
||||
*/ |
||||
public String getGroupPrefix(String world, String group) |
||||
{ |
||||
return rscp.cache.groupGetPrefix(group); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Get players prefix |
||||
* |
||||
* @param world World name |
||||
* @param group Group name |
||||
* @return Prefix |
||||
*/ |
||||
public String getGroupSuffix(String world, String group) |
||||
{ |
||||
return rscp.cache.groupGetSuffix(group); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Set player's prefix |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @param prefix Prefix |
||||
*/ |
||||
public void setPlayerPrefix(String world, final String player, final String prefix) |
||||
{ |
||||
new Thread() |
||||
{ |
||||
@Override |
||||
public void run() |
||||
{ |
||||
rscp.connectionList.updateEntityText(player, true, prefix, true); |
||||
} |
||||
}.start(); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Set player's prefix |
||||
* |
||||
* @param world World name |
||||
* @param player Player name |
||||
* @param suffix Suffix |
||||
*/ |
||||
public void setPlayerSuffix(String world, final String player, final String suffix) |
||||
{ |
||||
new Thread() |
||||
{ |
||||
@Override |
||||
public void run() |
||||
{ |
||||
rscp.connectionList.updateEntityText(player, true, suffix, false); |
||||
} |
||||
}.start(); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Set group prefix |
||||
* |
||||
* @param world World name |
||||
* @param group Group name |
||||
* @param prefix Prefix |
||||
*/ |
||||
public void setGroupPrefix(String world, final String group, final String prefix) |
||||
{ |
||||
new Thread() |
||||
{ |
||||
@Override |
||||
public void run() |
||||
{ |
||||
rscp.connectionList.updateEntityText(group, false, prefix, true); |
||||
} |
||||
}.start(); |
||||
} |
||||
/** |
||||
* Vault chat support. |
||||
* Set group prefix |
||||
* |
||||
* @param world World name |
||||
* @param group Group name |
||||
* @param suffix Suffix |
||||
*/ |
||||
public void setGroupSuffix(String world, final String group, final String suffix) |
||||
{ |
||||
new Thread() |
||||
{ |
||||
@Override |
||||
public void run() |
||||
{ |
||||
rscp.connectionList.updateEntityText(group, false, suffix, false); |
||||
} |
||||
}.start(); |
||||
} |
||||
|
||||
/** |
||||
* Checks if a CommandSender has a permission node. This will return the result of bukkits, generic .hasPermission() |
||||
* method and is identical in all cases. This method will explicitly fail if the registered permission system does |
||||
* not register permissions in bukkit. |
||||
* |
||||
* For easy checking of a commandsender |
||||
* |
||||
* @param sender to check permissions on |
||||
* @param permission to check for |
||||
* @return true if the sender has the permission |
||||
*/ |
||||
public boolean has(CommandSender sender, String permission) |
||||
{ |
||||
return sender.hasPermission(permission); |
||||
} |
||||
|
||||
/** |
||||
* Checks if player has a permission node. (Short for playerHas(...) |
||||
* |
||||
* @param player Player Object |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean has(Player player, String permission) |
||||
{ |
||||
return player.hasPermission(permission); |
||||
} |
||||
|
||||
/** |
||||
* Checks if player has a permission node. Supports NULL value for World if the permission system registered supports |
||||
* global permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world String world name |
||||
* @param player to check |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerHas(String world, OfflinePlayer player, String permission) |
||||
{ |
||||
// SHOULD BE UPDATED
|
||||
return playerHas(world, player.getName(), permission); |
||||
} |
||||
|
||||
/** |
||||
* Checks if player has a permission node. Defaults to world-specific permission check if the permission system |
||||
* supports it. See {@link #playerHas(String, OfflinePlayer, String)} for explicit global or world checks. |
||||
* |
||||
* @param player Player Object |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerHas(Player player, String permission) |
||||
{ |
||||
return has(player, permission); |
||||
} |
||||
|
||||
/** |
||||
* Add permission to a player. Supports NULL value for World if the permission system registered supports global |
||||
* permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world String world name |
||||
* @param player to add to |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAdd(String world, OfflinePlayer player, String permission) |
||||
{ |
||||
if(world == null) |
||||
return playerAdd((String)null, player.getName(), permission); |
||||
return playerAdd(world, player.getName(), permission); |
||||
} |
||||
|
||||
/** |
||||
* Add permission to a player ONLY for the world the player is currently on. This is a world-specific operation, if |
||||
* you want to add global permission you must explicitly use NULL for the world. See |
||||
* {@link #playerAdd(String, OfflinePlayer, String)} for global permission use. |
||||
* |
||||
* @param player Player Object |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAdd(Player player, String permission) |
||||
{ |
||||
return playerAdd(player.getWorld().getName(), player, permission); |
||||
} |
||||
|
||||
/** |
||||
* Add transient permission to a player. This implementation can be used by any subclass which implements a "pure" |
||||
* superperms plugin, i.e. one that only needs the built-in Bukkit API to add transient permissions to a player. |
||||
* |
||||
* @param player to add to |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAddTransient(OfflinePlayer player, String permission) throws UnsupportedOperationException |
||||
{ |
||||
if(player.isOnline()) |
||||
return playerAddTransient((Player)player, permission); |
||||
throw new UnsupportedOperationException("rscPermissions does not support offline player transient permissions!"); |
||||
} |
||||
|
||||
/** |
||||
* Add transient permission to a player. This operation adds a permission onto the player object in bukkit via |
||||
* Bukkit's permission interface. |
||||
* |
||||
* @param player Player Object |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAddTransient(Player player, String permission) |
||||
{ |
||||
for(PermissionAttachmentInfo paInfo : player.getEffectivePermissions()) |
||||
if(paInfo.getAttachment() != null && paInfo.getAttachment().getPlugin().equals(rscp)) |
||||
{ |
||||
paInfo.getAttachment().setPermission(permission, true); |
||||
return true; |
||||
} |
||||
|
||||
PermissionAttachment attach = player.addAttachment(rscp); |
||||
attach.setPermission(permission, true); |
||||
return true; |
||||
} |
||||
|
||||
/** |
||||
* Adds a world specific transient permission to the player, may only work with some permission managers. Defaults to |
||||
* GLOBAL permissions for any permission system that does not support world-specific transient permissions! |
||||
* |
||||
* @param worldName to check on |
||||
* @param player to add to |
||||
* @param permission to test |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAddTransient(String worldName, OfflinePlayer player, String permission) |
||||
{ |
||||
return false; |
||||
// return playerAddTransient(worldName, player.getName(), permission);
|
||||
} |
||||
|
||||
/** |
||||
* Adds a world specific transient permission to the player, may only work with some permission managers. Defaults to |
||||
* GLOBAL permissions for any permission system that does not support world-specific transient permissions! |
||||
* |
||||
* @param worldName to check on |
||||
* @param player to check |
||||
* @param permission to check for |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAddTransient(String worldName, Player player, String permission) |
||||
{ |
||||
return playerAddTransient(player, permission); |
||||
} |
||||
|
||||
/** |
||||
* Removes a world specific transient permission from the player, may only work with some permission managers. |
||||
* Defaults to GLOBAL permissions for any permission system that does not support world-specific transient |
||||
* permissions! |
||||
* |
||||
* @param worldName to remove for |
||||
* @param player to remove for |
||||
* @param permission to remove |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemoveTransient(String worldName, OfflinePlayer player, String permission) |
||||
{ |
||||
return false; |
||||
// return playerRemoveTransient(worldName, player.getName(), permission);
|
||||
} |
||||
|
||||
/** |
||||
* Removes a world specific transient permission from the player, may only work with some permission managers. |
||||
* Defaults to GLOBAL permissions for any permission system that does not support world-specific transient |
||||
* permissions! |
||||
* |
||||
* @param worldName to check on |
||||
* @param player to check |
||||
* @param permission to check for |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemoveTransient(String worldName, Player player, String permission) |
||||
{ |
||||
return playerRemoveTransient(worldName, (OfflinePlayer)player, permission); |
||||
} |
||||
|
||||
/** |
||||
* Remove permission from a player. Will attempt to remove permission from the player on the player's current world. |
||||
* This is NOT a global operation. |
||||
* |
||||
* @param player Player Object |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemove(Player player, String permission) |
||||
{ |
||||
return false; |
||||
// return playerRemove(player.getWorld().getName(), player, permission);
|
||||
} |
||||
|
||||
/** |
||||
* Remove transient permission from a player. This implementation can be used by any subclass which implements a |
||||
* "pure" superperms plugin, i.e. one that only needs the built-in Bukkit API to remove transient permissions from a |
||||
* player. Any subclass implementing a plugin which provides its own API for this needs to override this method. |
||||
* |
||||
* @param player OfflinePlayer |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemoveTransient(OfflinePlayer player, String permission) |
||||
{ |
||||
if(player.isOnline()) |
||||
return playerRemoveTransient((Player)player, permission); |
||||
else |
||||
return false; |
||||
} |
||||
|
||||
/** |
||||
* Remove transient permission from a player. |
||||
* |
||||
* @param player Player Object |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemoveTransient(Player player, String permission) |
||||
{ |
||||
for(PermissionAttachmentInfo paInfo : player.getEffectivePermissions()) |
||||
if(paInfo.getAttachment() != null && paInfo.getAttachment().getPlugin().equals(rscp)) |
||||
{ |
||||
paInfo.getAttachment().unsetPermission(permission); |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
/** |
||||
* Checks if group has a permission node. Supports NULL value for World if the permission system registered supports |
||||
* global permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world World Object |
||||
* @param group Group name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean groupHas(World world, String group, String permission) |
||||
{ |
||||
if(world == null) |
||||
return groupHas((String)null, group, permission); |
||||
return groupHas(world.getName(), group, permission); |
||||
} |
||||
|
||||
/** |
||||
* Add permission to a group. Supports NULL value for World if the permission system registered supports global |
||||
* permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world World Object |
||||
* @param group Group name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean groupAdd(World world, String group, String permission) |
||||
{ |
||||
if(world == null) |
||||
return groupAdd((String)null, group, permission); |
||||
return groupAdd(world.getName(), group, permission); |
||||
} |
||||
|
||||
/** |
||||
* Remove permission from a group. Supports NULL value for World if the permission system registered supports global |
||||
* permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world World Object |
||||
* @param group Group name |
||||
* @param permission Permission node |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean groupRemove(World world, String group, String permission) |
||||
{ |
||||
if(world == null) |
||||
return groupRemove((String)null, group, permission); |
||||
return groupRemove(world.getName(), group, permission); |
||||
} |
||||
|
||||
/** |
||||
* Check if player is member of a group. Supports NULL value for World if the permission system registered supports |
||||
* global permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world World Object |
||||
* @param player to check |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerInGroup(String world, OfflinePlayer player, String group) |
||||
{ |
||||
if(world == null) |
||||
return playerInGroup((String)null, player.getName(), group); |
||||
return playerInGroup(world, player.getName(), group); |
||||
} |
||||
|
||||
/** |
||||
* Check if player is member of a group. This method will ONLY check groups for which the player is in that are |
||||
* defined for the current world. This may result in odd return behaviour depending on what permission system has |
||||
* been registered. |
||||
* |
||||
* @param player Player Object |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerInGroup(Player player, String group) |
||||
{ |
||||
return playerInGroup(player.getWorld().getName(), player, group); |
||||
} |
||||
|
||||
/** |
||||
* Add player to a group. Supports NULL value for World if the permission system registered supports global |
||||
* permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world String world name |
||||
* @param player to add |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAddGroup(String world, OfflinePlayer player, String group) |
||||
{ |
||||
if(world == null) |
||||
return playerAddGroup((String)null, player.getName(), group); |
||||
return playerAddGroup(world, player.getName(), group); |
||||
} |
||||
|
||||
/** |
||||
* Add player to a group. This will add a player to the group on the current World. This may return odd results if |
||||
* the permission system being used on the server does not support world-specific groups, or if the group being added |
||||
* to is a global group. |
||||
* |
||||
* @param player Player Object |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerAddGroup(Player player, String group) |
||||
{ |
||||
return playerAddGroup(player.getWorld().getName(), player, group); |
||||
} |
||||
|
||||
/** |
||||
* Remove player from a group. Supports NULL value for World if the permission system registered supports global |
||||
* permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world World Object |
||||
* @param player to remove |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemoveGroup(String world, OfflinePlayer player, String group) |
||||
{ |
||||
if(world == null) |
||||
return playerRemoveGroup((String)null, player.getName(), group); |
||||
return playerRemoveGroup(world, player.getName(), group); |
||||
} |
||||
|
||||
/** |
||||
* Remove player from a group. This will add a player to the group on the current World. This may return odd results |
||||
* if the permission system being used on the server does not support world-specific groups, or if the group being |
||||
* added to is a global group. |
||||
* |
||||
* @param player Player Object |
||||
* @param group Group name |
||||
* @return Success or Failure |
||||
*/ |
||||
public boolean playerRemoveGroup(Player player, String group) |
||||
{ |
||||
return playerRemoveGroup(player.getWorld().getName(), player, group); |
||||
} |
||||
|
||||
/** |
||||
* Gets the list of groups that this player has Supports NULL value for World if the permission system registered |
||||
* supports global permissions. But May return odd values if the servers registered permission system does not have a |
||||
* global permission store. |
||||
* |
||||
* @param world String world name |
||||
* @param player OfflinePlayer |
||||
* @return Array of groups |
||||
*/ |
||||
public String[] getPlayerGroups(String world, OfflinePlayer player) |
||||
{ |
||||
return getPlayerGroups(world, player.getName()); |
||||
} |
||||
|
||||
/** |
||||
* Returns a list of world-specific groups that this player is currently in. May return unexpected results if you are |
||||
* looking for global groups, or if the registered permission system does not support world-specific groups. See |
||||
* {@link #getPlayerGroups(String, OfflinePlayer)} for better control of World-specific or global groups. |
||||
* |
||||
* @param player Player Object |
||||
* @return Array of groups |
||||
*/ |
||||
public String[] getPlayerGroups(Player player) |
||||
{ |
||||
return getPlayerGroups(player.getWorld().getName(), player); |
||||
} |
||||
|
||||
/** |
||||
* Gets players primary group Supports NULL value for World if the permission system registered supports global |
||||
* permissions. But May return odd values if the servers registered permission system does not have a global |
||||
* permission store. |
||||
* |
||||
* @param world String world name |
||||
* @param player to get from |
||||
* @return Players primary group |
||||
*/ |
||||
public String getPrimaryGroup(String world, OfflinePlayer player) |
||||
{ |
||||
return getPrimaryGroup(world, player.getName()); |
||||
} |
||||
|
||||
/** |
||||
* Get players primary group. Defaults to the players current world, so may return only world-specific groups. In |
||||
* most cases {@link #getPrimaryGroup(String, OfflinePlayer)} is preferable. |
||||
* |
||||
* @param player Player Object |
||||
* @return Players primary group |
||||
*/ |
||||
public String getPrimaryGroup(Player player) |
||||
{ |
||||
return getPrimaryGroup(player.getWorld().getName(), player); |
||||
} |
||||
} |
Loading…
Reference in new issue