From 10d02ec6f0dd8e565dfa87b6381031fcabe0ca69 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 12 Apr 2014 17:17:10 +1000 Subject: [PATCH] Address Serious Issues with Offline Players Such as name being entirely unresolved! This fixes the whitelist command and no doubt lots more. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java index bec4134..ecf0fa4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -48,6 +48,12 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa if (player != null) { return player.getName(); } + // Spigot Start + if ( profile != null ) + { + return profile.getName(); + } + // Spigot End NBTTagCompound data = getBukkitData(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 2645c97..c3212ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1322,7 +1322,7 @@ public final class CraftServer implements Server { if (result == null) { result = offlinePlayers.get(id); if (result == null) { - result = new CraftOfflinePlayer(this, new GameProfile(id, null)); + result = new CraftOfflinePlayer(this, MinecraftServer.getServer().getUserCache().a(id)); // Spigot - this is blocking, but we have no choice! offlinePlayers.put(id, result); } } else { @@ -1392,6 +1392,7 @@ public final class CraftServer implements Server { public Set getWhitelistedPlayers() { Set result = new LinkedHashSet(); + Object w = playerList.getWhitelisted(); for (Object name : playerList.getWhitelisted()) { if (((String)name).length() == 0 || ((String)name).startsWith("#")) { continue; -- 1.8.3.2