From 24f994ff2a07708f0259b9d1885a9e4ac60ceb38 Mon Sep 17 00:00:00 2001 From: EnZaXD Date: Wed, 31 Jul 2024 18:21:42 +0200 Subject: [PATCH] Convert components in sign block entities in 1.12->1.11 (#845) --- .../rewriter/BlockItemPacketRewriter1_12.java | 34 +++++++++++++++++-- .../v1_9_3to1_9_1/Protocol1_9_3To1_9_1.java | 7 ++-- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/BlockItemPacketRewriter1_12.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/BlockItemPacketRewriter1_12.java index 5ee7acf8..3c44d7b7 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/BlockItemPacketRewriter1_12.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/BlockItemPacketRewriter1_12.java @@ -18,6 +18,7 @@ package com.viaversion.viabackwards.protocol.v1_12to1_11_1.rewriter; +import com.viaversion.nbt.tag.StringTag; import com.viaversion.viabackwards.api.rewriters.LegacyBlockItemRewriter; import com.viaversion.viabackwards.protocol.v1_12to1_11_1.Protocol1_12To1_11_1; import com.viaversion.viabackwards.protocol.v1_12to1_11_1.data.MapColorMappings1_11_1; @@ -38,6 +39,9 @@ import com.viaversion.viaversion.protocols.v1_11_1to1_12.packet.ServerboundPacke import com.viaversion.viaversion.protocols.v1_9_1to1_9_3.packet.ServerboundPackets1_9_3; import java.util.Iterator; import java.util.Map; +import com.viaversion.viaversion.util.ComponentUtil; +import com.viaversion.viaversion.util.Key; +import com.viaversion.viaversion.util.SerializerVersion; import org.checkerframework.checker.nullness.qual.Nullable; public class BlockItemPacketRewriter1_12 extends LegacyBlockItemRewriter { @@ -133,6 +137,15 @@ public class BlockItemPacketRewriter1_12 extends LegacyBlockItemRewriter { - // Remove bed color - if (wrapper.get(Types.UNSIGNED_BYTE, 0) == 11) + final short type = wrapper.get(Types.UNSIGNED_BYTE, 0); + if (type == 9) { + final CompoundTag tag = wrapper.get(Types.NAMED_COMPOUND_TAG, 0); + handleSignText(tag); + } else if (type == 11) { + // Remove bed color wrapper.cancel(); + } }); } }); @@ -170,6 +188,18 @@ public class BlockItemPacketRewriter1_12 extends LegacyBlockItemRewriter