@Override public String[] getGroups(String name) { AnjoPermissionsHandler permissionHandler = getPermissionHandler(null); if (permissionHandler == null) { return new String[0]; } return permissionHandler.getGroups(name); }
@Override public boolean inGroup(OfflinePlayer player, String group) { if (super.inGroup(player, group)) { return true; } if (nameNotSafe(group)) { return false; } AnjoPermissionsHandler permissionHandler = getPermissionHandler(null); return permissionHandler != null && permissionHandler.inGroup(player.getName(), group); }
@Override public boolean hasPermission(String worldName, OfflinePlayer player, String permission) { if (nameNotSafe(permission)) { return false; } String name = player.getName(); World world = worldName != null ? server.getWorld(worldName) : player.getPlayer().getWorld(); AnjoPermissionsHandler permissionHandler = getPermissionHandler(world); return permissionHandler != null && permissionHandler.permission(name, permission); }
@Override public String getPrimaryGroup(String worldName, String playerName) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } return handler.getGroup(playerName); }
@Override public String getPlayerPrefix(String worldName, String playerName) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return ""; } return handler.getUserPrefix(playerName); }
@Override public String getPlayerSuffix(String worldName, String playerName) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return ""; } return handler.getUserSuffix(playerName); }
@Override public double getPlayerInfoDouble(String worldName, String playerName, String node, double defaultValue) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return defaultValue; } Double val = handler.getUserPermissionDouble(playerName, node); return val != null ? val : defaultValue; }
@Override public String getPlayerInfoString(String worldName, String playerName, String node, String defaultValue) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return defaultValue; } String val = handler.getUserPermissionString(playerName, node); return val != null ? val : defaultValue; }
@Override public int getPlayerInfoInteger(String worldName, String playerName, String node, int defaultValue) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return defaultValue; } Integer val = handler.getUserPermissionInteger(playerName, node); return val != null ? val : defaultValue; }
@Override public boolean getPlayerInfoBoolean(String worldName, String playerName, String node, boolean defaultValue) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return defaultValue; } Boolean val = handler.getUserPermissionBoolean(playerName, node); return val != null ? val : defaultValue; }
@Override public int getGroupInfoInteger(String worldName, String groupName, String node, int defaultValue) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler(); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return defaultValue; } Integer val = handler.getGroupPermissionInteger(groupName, node); return val != null ? val : defaultValue; }
@Override public double getGroupInfoDouble(String worldName, String groupName, String node, double defaultValue) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler(); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return defaultValue; } Double val = handler.getGroupPermissionDouble(groupName, node); return val != null ? val : defaultValue; }
@Override public boolean hasPermission(OfflinePlayer player, String permission) { if (nameNotSafe(permission)) { return false; } Permissible permissible = getPermissible(player); if (permissible == null) { return getPermissionHandler(player.getPlayer().getWorld()).permission(player.getName(), permission); } else { return permissible.hasPermission(permission); } }
@Override public String[] getPlayerGroups(String worldName, String playerName) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return null; } return handler.getGroups(playerName); }
@Override public boolean playerInGroup(String worldName, String playerName, String groupName) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return false; } return handler.inGroup(playerName, groupName); }
@Override public String getPrimaryGroup(String worldName, String playerName) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return null; } return handler.getGroup(playerName); }
@Override public Set<String> hasOfflinePermissions(String player, Set<String> perms) { HashSet<String> hasperms = new HashSet<String>(); AnjoPermissionsHandler apm = gm.getWorldsHolder().getDefaultWorld().getPermissionsHandler(); if (apm != null) { for (String pp : perms) { if (apm.permission(player, name + "." + pp)) { hasperms.add(pp); } } } return hasperms; } @Override
@Override public boolean hasOfflinePermission(String player, String perm) { AnjoPermissionsHandler apm = gm.getWorldsHolder().getDefaultWorld().getPermissionsHandler(); boolean rslt = false; if(apm != null) { rslt = apm.permission(player, name + "." + perm); } return rslt; } }
@Override public boolean has(CommandSender sender, String permission) { Player player = sender instanceof Player ? (Player) sender : null; boolean rslt = (player != null) ? gm.getWorldsHolder().getDefaultWorld().getPermissionsHandler().permission(player, name + "." + permission) : true; return rslt; }
@Override public boolean playerHas(String worldName, String playerName, String permission) { AnjoPermissionsHandler handler; if (worldName == null) { handler = groupManager.getWorldsHolder().getWorldPermissionsByPlayerName(playerName); } else { handler = groupManager.getWorldsHolder().getWorldPermissions(worldName); } if (handler == null) { return false; } return handler.permission(playerName, permission); }