Lookup game profiles for users that aren't onine

This commit is contained in:
Techcable 2015-08-15 14:05:03 -05:00
parent 51cbd00f88
commit 3e8e275447

View file

@ -8,13 +8,27 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -0,0 +0,0 @@ import net.minecraft.server.GameProfileSerializer;
import net.minecraft.server.NBTBase;
import net.minecraft.server.NBTTagCompound;
+// PaperSpigot start
+import net.minecraft.server.EntityPlayer;
+import net.minecraft.server.MinecraftServer;
+// PaperSpigot end
+
import org.bukkit.Material;
import org.bukkit.configuration.serialization.DelegateDeserialization;
import org.bukkit.craftbukkit.inventory.CraftMetaItem.SerializableMeta;
@@ -0,0 +0,0 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
if (name == null) {
profile = null;
} else {
- profile = new GameProfile(null, name);
+ // PaperSpigot - Check usercache for the profile
+ profile = net.minecraft.server.MinecraftServer.getServer().getUserCache().getProfile(name);
+ // PaperSpigot start - Check usercache if the player is online
+ EntityPlayer player = MinecraftServer.getServer().getPlayerList().getPlayer(name);
+ profile = player != null ? player.getProfile() : new GameProfile(null, name);
+ // PaperSpigot end
}
return true;