From 4e1924dca626e3f688f8221a1cddb528557887bb Mon Sep 17 00:00:00 2001 From: Florian Reuth Date: Thu, 1 Oct 2026 15:37:17 +0200 Subject: [PATCH] Backup wolf collar in 1.21.5->1.21.4 Also fixes the bypassed_by tag restore. Signed-off-by: Florian Reuth --- .../rewriter/BlockItemPacketRewriter1_21_5.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_5to1_21_4/rewriter/BlockItemPacketRewriter1_21_5.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_5to1_21_4/rewriter/BlockItemPacketRewriter1_21_5.java index f3468cd97..e10c43df1 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_5to1_21_4/rewriter/BlockItemPacketRewriter1_21_5.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_21_5to1_21_4/rewriter/BlockItemPacketRewriter1_21_5.java @@ -462,6 +462,7 @@ protected void backupInconvertibleData(final UserConnection connection, final It saveIntData(StructuredDataKey.COW_VARIANT, dataContainer, backupTag); saveIntData(StructuredDataKey.PIG_VARIANT, dataContainer, backupTag); saveIntData(StructuredDataKey.WOLF_VARIANT, dataContainer, backupTag); + saveIntData(StructuredDataKey.WOLF_COLLAR, dataContainer, backupTag); final Either chickenVariant = dataContainer.get(StructuredDataKey.CHICKEN_VARIANT1_21_5); if (chickenVariant != null) { @@ -546,7 +547,7 @@ protected void restoreBackupData(final Item item, final StructuredDataContainer final float disableCooldownScale = blocksAttackTag.getFloat("disable_cooldown_scale"); final CompoundTag itemDamageTag = blocksAttackTag.getCompoundTag("item_damage"); final ItemDamageFunction itemDamage = new ItemDamageFunction(itemDamageTag.getFloat("threshold"), itemDamageTag.getFloat("base"), itemDamageTag.getFloat("factor")); - final String bypassedBy = blocksAttackTag.getString("bypassed_by"); + final String bypassedBy = itemDamageTag.getString("bypassed_by"); final Holder blockSound = blocksAttackTag.contains("block_sound") ? restoreHolder(blocksAttackTag, "block_sound", this::tagToSound) : null; final Holder disableSound = blocksAttackTag.contains("disable_sound") ? restoreHolder(blocksAttackTag, "disable_sound", this::tagToSound) : null; @@ -602,6 +603,7 @@ protected void restoreBackupData(final Item item, final StructuredDataContainer restoreIntData(StructuredDataKey.COW_VARIANT, data, backupTag); restoreIntData(StructuredDataKey.PIG_VARIANT, data, backupTag); restoreIntData(StructuredDataKey.WOLF_VARIANT, data, backupTag); + restoreIntData(StructuredDataKey.WOLF_COLLAR, data, backupTag); restoreHolderData(StructuredDataKey.BREAK_SOUND, data, backupTag, this::tagToSound); restoreHolderData(StructuredDataKey.PAINTING_VARIANT, data, backupTag, tag -> {