Commits

blablubbabc authored and md_5 committed 340ccd57f70
SPIGOT-7735: Fix serialization of player heads with note block sound
No tags

src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java

Modified
584 584 try {
585 585 NBTTagCompound internalTag = NBTCompressedStreamTools.readCompressed(buf, NBTReadLimiter.unlimitedHeap());
586 586 deserializeInternal(internalTag, map);
587 587 } catch (IOException ex) {
588 588 Logger.getLogger(CraftMetaItem.class.getName()).log(Level.SEVERE, null, ex);
589 589 }
590 590 }
591 591
592 592 String unhandled = SerializableMeta.getString(map, "unhandled", true);
593 593 if (unhandled != null) {
594 - ByteArrayInputStream buf = new ByteArrayInputStream(Base64.getDecoder().decode(internal));
594 + ByteArrayInputStream buf = new ByteArrayInputStream(Base64.getDecoder().decode(unhandled));
595 595 try {
596 596 NBTTagCompound unhandledTag = NBTCompressedStreamTools.readCompressed(buf, NBTReadLimiter.unlimitedHeap());
597 597 unhandledTags.copy(DataComponentPatch.CODEC.parse(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(DynamicOpsNBT.INSTANCE), unhandledTag).result().get());
598 598 } catch (IOException ex) {
599 599 Logger.getLogger(CraftMetaItem.class.getName()).log(Level.SEVERE, null, ex);
600 600 }
601 601 }
602 602
603 603 Object nbtMap = SerializableMeta.getObject(Object.class, map, BUKKIT_CUSTOM_TAG.BUKKIT, true); // We read both legacy maps and potential modern snbt strings here
604 604 if (nbtMap != null) {
1810 1810 CraftMetaArmor.TRIM.TYPE,
1811 1811 CraftMetaArmorStand.ENTITY_TAG.TYPE,
1812 1812 CraftMetaBanner.PATTERNS.TYPE,
1813 1813 CraftMetaEntityTag.ENTITY_TAG.TYPE,
1814 1814 CraftMetaLeatherArmor.COLOR.TYPE,
1815 1815 CraftMetaMap.MAP_POST_PROCESSING.TYPE,
1816 1816 CraftMetaMap.MAP_COLOR.TYPE,
1817 1817 CraftMetaMap.MAP_ID.TYPE,
1818 1818 CraftMetaPotion.POTION_CONTENTS.TYPE,
1819 1819 CraftMetaSkull.SKULL_PROFILE.TYPE,
1820 + CraftMetaSkull.NOTE_BLOCK_SOUND.TYPE,
1820 1821 CraftMetaSpawnEgg.ENTITY_TAG.TYPE,
1821 1822 CraftMetaBlockState.BLOCK_ENTITY_TAG.TYPE,
1822 1823 CraftMetaBook.BOOK_CONTENT.TYPE,
1823 1824 CraftMetaBookSigned.BOOK_CONTENT.TYPE,
1824 1825 CraftMetaFirework.FIREWORKS.TYPE,
1825 1826 CraftMetaEnchantedBook.STORED_ENCHANTMENTS.TYPE,
1826 1827 CraftMetaCharge.EXPLOSION.TYPE,
1827 1828 CraftMetaBlockState.BLOCK_ENTITY_TAG.TYPE,
1828 1829 CraftMetaKnowledgeBook.BOOK_RECIPES.TYPE,
1829 1830 CraftMetaTropicalFishBucket.ENTITY_TAG.TYPE,

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut