From 0557aa58b001815257f410040533d44ebde4017c Mon Sep 17 00:00:00 2001 From: KHobbits Date: Sun, 27 Apr 2014 01:10:44 +0100 Subject: Switch AFK check to use UUID. --- .../com/earth2me/essentials/EssentialsTimer.java | 7 ++++--- .../essentials/commands/EssentialsCommand.java | 22 +++++++++++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/EssentialsTimer.java b/Essentials/src/com/earth2me/essentials/EssentialsTimer.java index ca205ef31..4c17fda37 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsTimer.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsTimer.java @@ -4,6 +4,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.Set; +import java.util.UUID; import java.util.logging.Level; import net.ess3.api.IEssentials; import org.bukkit.entity.Player; @@ -12,7 +13,7 @@ import org.bukkit.entity.Player; public class EssentialsTimer implements Runnable { private final transient IEssentials ess; - private final transient Set onlineUsers = new HashSet(); + private final transient Set onlineUsers = new HashSet(); private transient long lastPoll = System.nanoTime(); private final LinkedList history = new LinkedList(); private int skip1 = 0; @@ -66,7 +67,7 @@ public class EssentialsTimer implements Runnable try { final User user = ess.getUser(player); - onlineUsers.add(user.getName()); + onlineUsers.add(user.getBase().getUniqueId()); user.setLastOnlineActivity(currentTime); user.checkActivity(); } @@ -77,7 +78,7 @@ public class EssentialsTimer implements Runnable } count = 0; - final Iterator iterator = onlineUsers.iterator(); + final Iterator iterator = onlineUsers.iterator(); while (iterator.hasNext()) { count++; diff --git a/Essentials/src/com/earth2me/essentials/commands/EssentialsCommand.java b/Essentials/src/com/earth2me/essentials/commands/EssentialsCommand.java index fd492ed6c..13fd2632c 100644 --- a/Essentials/src/com/earth2me/essentials/commands/EssentialsCommand.java +++ b/Essentials/src/com/earth2me/essentials/commands/EssentialsCommand.java @@ -5,6 +5,7 @@ import static com.earth2me.essentials.I18n.tl; import com.earth2me.essentials.utils.FormatUtil; import java.util.List; import java.util.Locale; +import java.util.UUID; import java.util.logging.Logger; import net.ess3.api.IEssentials; import org.bukkit.Server; @@ -86,8 +87,27 @@ public abstract class EssentialsCommand implements IEssentialsCommand private User getPlayer(final Server server, final User sourceUser, final String searchTerm, boolean getHidden, final boolean getOffline) throws PlayerNotFoundException { + final User user; + Player exPlayer; + + try + { + exPlayer = server.getPlayer(UUID.fromString(searchTerm)); + } + catch (IllegalArgumentException ex) + { + exPlayer = server.getPlayer(searchTerm); + } + + if (exPlayer != null) + { + user = ess.getUser(exPlayer); + } + else + { + user = ess.getUser(searchTerm); + } - final User user = ess.getUser(searchTerm); if (user != null) { if (!getOffline && !user.getBase().isOnline()) -- cgit v1.2.3