From 499472a126a77ae80049c6795308f2fa55db635b Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 22 Jun 2014 17:53:50 +0200 Subject: [PATCH] Remove adminworld guests properly. Fixes #202 --- buildnumber.properties | 4 +-- .../Commands/Command_adminworld.java | 6 ++-- .../TotalFreedomMod/World/TFM_AdminWorld.java | 28 +++++++++++-------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/buildnumber.properties b/buildnumber.properties index 6ce30a85..ff4b6e98 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Sun Jun 22 17:11:19 CEST 2014 -build.number=865 +#Sun Jun 22 17:51:33 CEST 2014 +build.number=871 diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_adminworld.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_adminworld.java index 8c29ec33..3ad09a3e 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_adminworld.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_adminworld.java @@ -15,7 +15,7 @@ public class Command_adminworld extends TFM_Command { private enum CommandMode { - TELEPORT, GUEST, TIME, WEATHER + TELEPORT, GUEST, TIME, WEATHER; } @Override @@ -222,7 +222,9 @@ public class Command_adminworld extends TFM_Command private class PermissionDeniedException extends Exception { - public PermissionDeniedException(String string) + private static final long serialVersionUID = 1L; + + private PermissionDeniedException(String string) { super(string); } diff --git a/src/me/StevenLawson/TotalFreedomMod/World/TFM_AdminWorld.java b/src/me/StevenLawson/TotalFreedomMod/World/TFM_AdminWorld.java index f1db8df4..b110b4b2 100644 --- a/src/me/StevenLawson/TotalFreedomMod/World/TFM_AdminWorld.java +++ b/src/me/StevenLawson/TotalFreedomMod/World/TFM_AdminWorld.java @@ -8,6 +8,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import me.StevenLawson.TotalFreedomMod.TFM_AdminList; import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler; import me.StevenLawson.TotalFreedomMod.TFM_Log; @@ -32,7 +33,7 @@ public final class TFM_AdminWorld extends TFM_CustomWorld private final Map accessCache = new HashMap(); // private Long cacheLastCleared = null; - private Map guestList = new HashMap(); + private Map guestList = new HashMap(); // Guest, Supervisor private WeatherMode weatherMode = WeatherMode.OFF; private TimeOfDay timeOfDay = TimeOfDay.INHERIT; @@ -102,35 +103,38 @@ public final class TFM_AdminWorld extends TFM_CustomWorld public Player removeGuest(Player guest) { - Player player = guestList.remove(guest); + final Player player = guestList.remove(guest); wipeAccessCache(); return player; } public Player removeGuest(String partialName) { - partialName = partialName.toLowerCase().trim(); - Iterator it = guestList.values().iterator(); + partialName = partialName.toLowerCase(); + final Iterator it = guestList.keySet().iterator(); + while (it.hasNext()) { - Player player = it.next(); - if (player.getName().toLowerCase().trim().contains(partialName)) + final Player player = it.next(); + if (player.getName().toLowerCase().contains(partialName)) { - return removeGuest(player); + removeGuest(player); + return player; } } + return null; } public String guestListToString() { - List output = new ArrayList(); - Iterator> it = guestList.entrySet().iterator(); + final List output = new ArrayList(); + final Iterator> it = guestList.entrySet().iterator(); while (it.hasNext()) { - Map.Entry entry = it.next(); - Player player = entry.getKey(); - Player supervisor = entry.getValue(); + final Entry entry = it.next(); + final Player player = entry.getKey(); + final Player supervisor = entry.getValue(); output.add(player.getName() + " (Supervisor: " + supervisor.getName() + ")"); } return StringUtils.join(output, ", ");