diff options
author | ElgarL <ElgarL@Palmergames.com> | 2014-06-20 10:56:52 +0100 |
---|---|---|
committer | ElgarL <ElgarL@Palmergames.com> | 2014-06-20 10:56:52 +0100 |
commit | 9a55d32b7569d520e3b0365df8a08405be1ac6d8 (patch) | |
tree | 64b4abfa4e0a21883b216bd7a3922ba50e998b03 /EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder | |
parent | d86d72eeb75593c3125f876a8cfcf199eba12352 (diff) | |
download | Essentials-9a55d32b7569d520e3b0365df8a08405be1ac6d8.tar Essentials-9a55d32b7569d520e3b0365df8a08405be1ac6d8.tar.gz Essentials-9a55d32b7569d520e3b0365df8a08405be1ac6d8.tar.lz Essentials-9a55d32b7569d520e3b0365df8a08405be1ac6d8.tar.xz Essentials-9a55d32b7569d520e3b0365df8a08405be1ac6d8.zip |
Convert all User lookups and commands to use UUIDs where possible.
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java index 4a1d6506a..1e1ae96c3 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java @@ -108,8 +108,10 @@ public class WorldDataHolder { } /** - * Search for a user. If it doesn't exist, create a new one with default - * group. + * Search for a user. If it doesn't exist, create a new one with default group. + * + * If this is called passing a player name with mantogglevalidate off + * it can return the wrong user object (offline/online UUID match). * * @param userId the UUID String or name of the user * @return class that manage that user permission @@ -162,28 +164,19 @@ public class WorldDataHolder { } // Search for a LastName match + user = getUsers().get(currentName.toLowerCase()); - if (nameToUUIDLookup.containsKey(currentName)) { + if ((user != null) && user.getLastName().equalsIgnoreCase(currentName) && user.getUUID().equalsIgnoreCase(user.getLastName())) { - for (String uid : getUUIDLookup(currentName)) { - - User usr = getUsers().get(uid); - - if (usr.getLastName().equalsIgnoreCase(currentName) && usr.getUUID().equalsIgnoreCase(usr.getLastName())) { - - // Clone this user so we can set it's uUID - user = usr.clone(uUID, currentName); - - // Delete it and replace with the new clone. - this.removeUser(usr.getUUID()); - this.addUser(user); - - return getUsers().get(uUID.toLowerCase()); - } - - } - } + // Clone this user so we can set it's uUID + User usr = user.clone(uUID, currentName); + + // Delete it and replace with the new clone. + this.removeUser(user.getUUID()); + this.addUser(usr); + return getUsers().get(uUID.toLowerCase()); + } // No user account found so create a new one. User newUser = createUser(uUID); |