diff --git a/Spigot-Server-Patches/0045-Use-UserCache-for-player-heads.patch b/Spigot-Server-Patches/0045-Use-UserCache-for-player-heads.patch index 21075233d..bdf5379b7 100644 --- a/Spigot-Server-Patches/0045-Use-UserCache-for-player-heads.patch +++ b/Spigot-Server-Patches/0045-Use-UserCache-for-player-heads.patch @@ -1,36 +1,35 @@ -From 81aa73e5615c5bd1b76585922ded791200c0343b Mon Sep 17 00:00:00 2001 +From 4ae31b52610780b8ea042468d9f7e92f9fe39aad Mon Sep 17 00:00:00 2001 From: Techcable 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 2abca0c..7d83bbe 100644 +index f07eb2f..18cc746 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -2,9 +2,7 @@ package org.bukkit.craftbukkit.inventory; - - import java.util.Map; - --import net.minecraft.server.GameProfileSerializer; --import net.minecraft.server.NBTBase; --import net.minecraft.server.NBTTagCompound; +@@ -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; -@@ -132,7 +130,10 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -133,8 +134,12 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (name == null) { profile = null; } else { -- profile = new GameProfile(null, name); -+ // Paper start - Check usercache if the player is online ++ // Paper start - Use Online Players Skull + EntityPlayer player = MinecraftServer.getServer().getPlayerList().getPlayer(name); -+ profile = player != null ? player.getProfile() : new GameProfile(null, 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 } - - return true; -- 2.10.2 diff --git a/work/Spigot b/work/Spigot index 16c940b06..261f18109 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 16c940b0677cc9065df920e1113c80b5a047ca32 +Subproject commit 261f18109ea6338aa7a5dfe34fbb87e87945b8e5