summaryrefslogtreecommitdiffstats
path: root/nms-patches/ItemSkullPlayer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/ItemSkullPlayer.patch')
-rw-r--r--nms-patches/ItemSkullPlayer.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/nms-patches/ItemSkullPlayer.patch b/nms-patches/ItemSkullPlayer.patch
new file mode 100644
index 00000000..0679f503
--- /dev/null
+++ b/nms-patches/ItemSkullPlayer.patch
@@ -0,0 +1,18 @@
+--- a/net/minecraft/server/ItemSkullPlayer.java
++++ b/net/minecraft/server/ItemSkullPlayer.java
+@@ -42,6 +42,15 @@
+ nbttagcompound.set("SkullOwner", GameProfileSerializer.serialize(new NBTTagCompound(), gameprofile));
+ return true;
+ } else {
++ // CraftBukkit start
++ NBTTagList textures = nbttagcompound.getCompound("SkullOwner").getCompound("Properties").getList("textures", 10); // Safe due to method contracts
++ for (int i = 0; i < textures.size(); i++) {
++ if (textures.get(i) instanceof NBTTagCompound && !((NBTTagCompound) textures.get(i)).hasKeyOfType("Signature", 8) && ((NBTTagCompound) textures.get(i)).getString("Value").trim().isEmpty()) {
++ nbttagcompound.remove("SkullOwner");
++ break;
++ }
++ }
++ // CraftBukkit end
+ return false;
+ }
+ }