papermc/Spigot-Server-Patches/0044-Use-UserCache-for-player-heads.patch
Zach Brown 0728696e06
Add ProjectileCollideEvent
Base our vanish changes on top of that event.
2016-12-16 22:13:46 -06:00

35 lines
1.6 KiB
Diff

From 2087e0322bd2350d334b5292ab192c1be0814418 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 f07eb2f..18cc746 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.9.3