aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0045-Use-UserCache-for-player-heads.patch
blob: b43e98210d934a6aabbb7427f8fc16e55674a3ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From 9ebcc2f689753eb2c2ec33864e05450f9cee2fa3 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
Date: Wed, 2 Mar 2016 23:42:37 -0600
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 f07eb2f75..18cc74639 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -6,6 +6,7 @@ import net.minecraft.server.GameProfileSerializer;
 import net.minecraft.server.NBTBase;
 import net.minecraft.server.NBTTagCompound;
 import net.minecraft.server.TileEntitySkull;
+import net.minecraft.server.*;
 
 import org.bukkit.Material;
 import org.bukkit.configuration.serialization.DelegateDeserialization;
@@ -133,8 +134,12 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
         if (name == null) {
             profile = null;
         } else {
+            // Paper start - Use Online Players Skull
+            EntityPlayer player = MinecraftServer.getServer().getPlayerList().getPlayer(name);
+            if (profile == null && player != null) profile = player.getProfile();
+            // Paper end
             // Spigot start
-            profile = TileEntitySkull.skinCache.getIfPresent(name.toLowerCase(java.util.Locale.ROOT));
+            if (profile == null) profile = TileEntitySkull.skinCache.getIfPresent(name.toLowerCase(java.util.Locale.ROOT)); // Paper
             if (profile == null) profile = new GameProfile(null, name);
             // Spigot end
         }
-- 
2.12.0.windows.1