--- 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; } }