From 2735c81205044776bb9ff4db885d8b584db36853 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Tue, 23 Jun 2015 23:00:07 -0500 Subject: [PATCH] Fix bug with leaving and joining clans: online player list wouldnt update --- .../src/mineplex/game/clans/clans/ClanInfo.java | 17 +++++++++++++++-- .../game/clans/clans/ClansDataAccessLayer.java | 2 ++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java index fc266e6ac..4c919b901 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java @@ -16,6 +16,7 @@ import mineplex.core.common.util.F; import mineplex.core.common.util.NautHashMap; import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilPlayer; +import mineplex.core.common.util.UtilServer; import mineplex.core.common.util.UtilTime; import mineplex.core.common.util.UtilTime.TimeUnit; import mineplex.core.common.util.UtilWorld; @@ -492,12 +493,24 @@ public class ClanInfo return players; } - protected void playerOnline(Player player) + public void playerOnline(Player player) { _onlinePlayers.add(player.getUniqueId()); } - protected void playerOffline(Player player) + public void playerOnline(String player) + { + Player p = UtilPlayer.searchExact(player); + if (p != null) playerOnline(p); + } + + public void playerOffline(String player) + { + Player p = UtilPlayer.searchExact(player); + if (p != null) playerOffline(p); + } + + public void playerOffline(Player player) { _onlinePlayers.remove(player.getUniqueId()); } diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansDataAccessLayer.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansDataAccessLayer.java index a0303b953..72eb662da 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansDataAccessLayer.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansDataAccessLayer.java @@ -83,6 +83,7 @@ public class ClansDataAccessLayer _manager.getClanMemberMap().put(player, clan); clan.getInviteeMap().remove(player); clan.getInviterMap().remove(player); + clan.playerOnline(player); //Save _repository.addMember(clan.getId(), player, role.toString()); @@ -99,6 +100,7 @@ public class ClansDataAccessLayer //Update Clan clan.getMembers().remove(player); _manager.getClanMemberMap().remove(player); + clan.playerOffline(player); //Save _repository.removeMember(clan.getId(), player);