diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/BlockEntityProvider.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/BlockEntityProvider.java index 5c5ccf6b2..4543eb367 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/BlockEntityProvider.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/BlockEntityProvider.java @@ -22,6 +22,7 @@ public class BlockEntityProvider implements Provider { handlers.put("minecraft:banner", new BannerHandler()); handlers.put("minecraft:skull", new SkullHandler()); handlers.put("minecraft:mob_spawner", new SpawnerHandler()); + handlers.put("minecraft:command_block", new CommandBlockHandler()); } /** diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/blockentities/CommandBlockHandler.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/blockentities/CommandBlockHandler.java new file mode 100644 index 000000000..b7dbd4abc --- /dev/null +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/providers/blockentities/CommandBlockHandler.java @@ -0,0 +1,19 @@ +package us.myles.ViaVersion.protocols.protocol1_13to1_12_2.providers.blockentities; + +import com.github.steveice10.opennbt.tag.builtin.CompoundTag; +import com.github.steveice10.opennbt.tag.builtin.StringTag; +import com.github.steveice10.opennbt.tag.builtin.Tag; +import us.myles.ViaVersion.api.data.UserConnection; +import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.ChatRewriter; +import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.providers.BlockEntityProvider; + +public class CommandBlockHandler implements BlockEntityProvider.BlockEntityHandler { + @Override + public int transform(UserConnection user, CompoundTag tag) { + Tag name = tag.get("CustomName"); + if (name instanceof StringTag) { + ((StringTag) name).setValue(ChatRewriter.legacyTextToJson(((StringTag) name).getValue())); + } + return -1; + } +}