PaperSpigot-Parent/Spigot-Server-Patches/0068-Use-UserCache-for-player-heads.patch

38 lines
1.5 KiB
Diff

From eb37d0158909779aa56c6a6c67ec300a80b07796 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
Date: Fri, 7 Aug 2015 19:31:31 -0700
Subject: [PATCH] Use UserCache for player heads
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
index ce5425f..25e32a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -6,6 +6,11 @@ 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;
@@ -132,7 +137,10 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
if (name == null) {
profile = null;
} else {
- profile = new GameProfile(null, 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;
--
2.5.2