--- a/net/minecraft/world/item/ItemSkullPlayer.java +++ b/net/minecraft/world/item/ItemSkullPlayer.java @@ -50,6 +50,16 @@ TileEntitySkull.updateGameprofile(gameprofile, (gameprofile1) -> { nbttagcompound.put("SkullOwner", GameProfileSerializer.writeGameProfile(new NBTTagCompound(), gameprofile1)); }); + // CraftBukkit start + } else { + net.minecraft.nbt.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)).contains("Signature", 8) && ((NBTTagCompound) textures.get(i)).getString("Value").trim().isEmpty()) { + nbttagcompound.remove("SkullOwner"); + break; + } + } + // CraftBukkit end } }