diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java index c10658fb0..6c74c2e50 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java @@ -256,11 +256,10 @@ public class User extends DataUnit implements Cloneable { } } + public User updatePlayer(Player player) { - if (player != null) { - bukkitPlayer = player; - } + bukkitPlayer = player; return this; } diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java index e8322c391..05e152286 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/BukkitPermissions.java @@ -31,6 +31,7 @@ import java.util.Set; import java.util.WeakHashMap; import org.anjocaido.groupmanager.GroupManager; +import org.anjocaido.groupmanager.data.User; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -144,6 +145,11 @@ public class BukkitPermissions { if (player == null || !GroupManager.isLoaded()) { return; } + + // Reset the User objects player reference. + User user = plugin.getWorldsHolder().getWorldData(player.getWorld().getName()).getUser(player.getName()); + if (user != null) + user.updatePlayer(player); PermissionAttachment attachment; @@ -440,7 +446,7 @@ public class BukkitPermissions { public void onPlayerKick(PlayerKickEvent event) { Player player = event.getPlayer(); - + /* * force remove any attachments as bukkit may not */