From 1091db0e15a4f10db2828a7d294e895110035a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Vis=C3=A9e?= Date: Sat, 21 Nov 2015 15:34:38 +0100 Subject: [PATCH] Created removeAllGroups method in permissions manager --- .../authme/permission/PermissionsManager.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/fr/xephi/authme/permission/PermissionsManager.java b/src/main/java/fr/xephi/authme/permission/PermissionsManager.java index 1edda2ea..11b18475 100644 --- a/src/main/java/fr/xephi/authme/permission/PermissionsManager.java +++ b/src/main/java/fr/xephi/authme/permission/PermissionsManager.java @@ -711,6 +711,28 @@ public class PermissionsManager { return result; } + /** + * Remove all groups of the specified player, if supported. + * Systems like Essentials GroupManager don't allow all groups to be removed from a player, thus the user will stay + * in it's primary group. All the subgroups are removed just fine. + * + * @param player The player to remove all groups from. + * + * @return True if succeed, false otherwise. + * False will also be returned if this feature isn't supported for the used permissions system. + */ + public boolean removeAllGroups(Player player) { + // If no permissions system is used, return false + if(!isEnabled()) + return false; + + // Get a list of current groups + List groupNames = getGroups(player); + + // Remove each group + return removeGroups(player, groupNames); + } + public enum PermissionsSystemType { NONE("None"), PERMISSIONS_EX("PermissionsEx"),