diff options
Diffstat (limited to 'nms-patches/ItemSkullPlayer.patch')
-rw-r--r-- | nms-patches/ItemSkullPlayer.patch | 18 |
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; + } + } |