diff --git a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockBlockEntityDataTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockBlockEntityDataTranslator.java index 145cea805..a26bba618 100644 --- a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockBlockEntityDataTranslator.java +++ b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockBlockEntityDataTranslator.java @@ -34,6 +34,7 @@ import org.geysermc.geyser.network.GameProtocol; import org.geysermc.geyser.session.GeyserSession; import org.geysermc.geyser.translator.protocol.PacketTranslator; import org.geysermc.geyser.translator.protocol.Translator; +import org.geysermc.geyser.translator.text.MessageTranslator; import org.geysermc.geyser.util.SignUtils; @Translator(packet = BlockEntityDataPacket.class) @@ -52,6 +53,7 @@ public class BedrockBlockEntityDataTranslator extends PacketTranslator for (int i = pages.size(); i < page; i++) { pages.add(i, new StringTag("", "")); } - pages.add(page, new StringTag("", packet.getText())); + pages.add(page, new StringTag("", MessageTranslator.convertToPlainText(packet.getText()))); break; } // Called whenever a page is modified case REPLACE_PAGE: { if (page < pages.size()) { - pages.set(page, new StringTag("", packet.getText())); + pages.set(page, new StringTag("", MessageTranslator.convertToPlainText(packet.getText()))); } else { // Add empty pages in between for (int i = pages.size(); i < page; i++) { pages.add(i, new StringTag("", "")); } - pages.add(page, new StringTag("", packet.getText())); + pages.add(page, new StringTag("", MessageTranslator.convertToPlainText(packet.getText()))); } break; } @@ -98,8 +99,8 @@ public class BedrockBookEditTranslator extends PacketTranslator break; } case SIGN_BOOK: { - tag.put(new StringTag("author", packet.getAuthor())); - tag.put(new StringTag("title", packet.getTitle())); + tag.put(new StringTag("author", MessageTranslator.convertToPlainText(packet.getAuthor()))); + tag.put(new StringTag("title", MessageTranslator.convertToPlainText(packet.getTitle()))); break; } default: @@ -127,12 +128,11 @@ public class BedrockBookEditTranslator extends PacketTranslator String title; if (packet.getAction() == BookEditPacket.Action.SIGN_BOOK) { // Add title to packet so the server knows we're signing - if (packet.getTitle().getBytes(StandardCharsets.UTF_8).length > MAXIMUM_TITLE_LENGTH) { + title = MessageTranslator.convertToPlainText(packet.getTitle()); + if (title.getBytes(StandardCharsets.UTF_8).length > MAXIMUM_TITLE_LENGTH) { session.getGeyser().getLogger().warning("Book title larger than server allows!"); return; } - - title = packet.getTitle(); } else { title = null; }