From 7c1a9062bae13c89867428c0c63fdad9a211e880 Mon Sep 17 00:00:00 2001 From: ljacqu Date: Wed, 15 Feb 2017 20:05:14 +0100 Subject: [PATCH] #761 Simplify auth group handling --- .../authme/permission/AuthGroupHandler.java | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/main/java/fr/xephi/authme/permission/AuthGroupHandler.java b/src/main/java/fr/xephi/authme/permission/AuthGroupHandler.java index 5e14e986..c7a3b343 100644 --- a/src/main/java/fr/xephi/authme/permission/AuthGroupHandler.java +++ b/src/main/java/fr/xephi/authme/permission/AuthGroupHandler.java @@ -10,6 +10,7 @@ import org.bukkit.entity.Player; import javax.annotation.PostConstruct; import javax.inject.Inject; +import java.util.Optional; /** * Changes the permission group according to the auth status of the player and the configuration. @@ -51,11 +52,10 @@ public class AuthGroupHandler implements Reloadable { return; } - String primaryGroup = ""; - LimboPlayer limboPlayer = limboCache.getPlayerData(player.getName()); - if (limboPlayer != null) { - primaryGroup = limboPlayer.getGroup(); - } + String primaryGroup = Optional + .ofNullable(limboCache.getPlayerData(player.getName())) + .map(LimboPlayer::getGroup) + .orElse(""); switch (groupType) { // Implementation note: some permission systems don't support players not being in any group, @@ -71,7 +71,8 @@ public class AuthGroupHandler implements Reloadable { break; case LOGGED_IN: - restoreGroup(player); + permissionsManager.addGroup(player, primaryGroup); + permissionsManager.removeGroups(player, unregisteredGroup, registeredGroup); break; default: @@ -101,20 +102,6 @@ public class AuthGroupHandler implements Reloadable { return true; } - /** - * Restores the player's original primary group (taken from LimboPlayer). - * - * @param player the player to process - */ - private void restoreGroup(Player player) { - LimboPlayer limbo = limboCache.getPlayerData(player.getName()); - if (limbo != null) { - String primaryGroup = limbo.getGroup(); - permissionsManager.addGroup(player, primaryGroup); - } - permissionsManager.removeGroups(player, unregisteredGroup, registeredGroup); - } - @Override @PostConstruct public void reload() {