PaperMC/Spigot-Server-Patches/0046-Use-UserCache-for-player-heads.patch
Aikar 18c3716c49
Current Chunk for Entity and Block Entities, counts by entity type
This enables us a fast reference to the entities current chunk instead
of having to look it up by hashmap lookups.

We also store counts by type to further enable other performance optimizations in later patches.
2018-07-04 03:58:56 -04:00

36 lines
1.4 KiB
Diff

From 42a3ad24ded6b1cb5d7be1be315fe6cf89f7c0e1 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 b6b34627a..862b30286 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.Bukkit;
import org.bukkit.Material;
@@ -141,7 +142,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
if (name == null) {
profile = null;
} else {
- profile = new GameProfile(null, name);
+ // Paper start - Use Online Players Skull
+ GameProfile newProfile = null;
+ EntityPlayer player = MinecraftServer.getServer().getPlayerList().getPlayer(name);
+ if (player != null) newProfile = player.getProfile();
+ if (newProfile == null) newProfile = new GameProfile(null, name);
+ profile = newProfile;
+ // Paper end
}
return true;
--
2.18.0