Class MessageTranslator
java.lang.Object
org.geysermc.geyser.translator.text.MessageTranslator
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringconvertJsonMessage(String message, String locale) static StringconvertJsonMessage(GeyserSession session, String message) Convenience method for locale getting.static StringconvertMessage(net.kyori.adventure.text.Component message) DO NOT USE THIS METHOD unless where you're calling from does not have a (reliable) way of getting the context's locale.static StringconvertMessage(net.kyori.adventure.text.Component message, String locale) Convert a Java message to the legacy format ready for bedrockstatic StringconvertMessage(GeyserSession session, net.kyori.adventure.text.Component message) Convenience method for locale getting.static StringconvertMessageLenient(String message) static StringconvertMessageLenient(String message, String locale) Verifies the message is valid JSON in case it's plaintext.static StringconvertToJavaMessage(String message) Convert a Bedrock message string back to a format Java can understandstatic StringconvertToPlainText(String message) Convert legacy format message to plain textstatic StringconvertToPlainText(net.kyori.adventure.text.Component message, String locale) Convert a Java message to plain textstatic StringconvertToPlainTextLenient(String message, String locale) Convert JSON and legacy format message to plain textstatic voidhandleChatPacket(GeyserSession session, net.kyori.adventure.text.Component message, int chatType, net.kyori.adventure.text.Component targetName, net.kyori.adventure.text.Component sender) static voidinit()static booleanisTooLong(String message, GeyserSession session) Checks if the given message is over 256 characters (Java edition server chat limit) and sends a message to the user if it isstatic StringtoChatColor(org.geysermc.mcprotocollib.protocol.data.game.scoreboard.TeamColor teamColor) Convert a team color to a chat color
-
Constructor Details
-
MessageTranslator
public MessageTranslator()
-
-
Method Details
-
convertMessage
Convert a Java message to the legacy format ready for bedrock- Parameters:
message- Java messagelocale- Locale to use for translation strings- Returns:
- Parsed and formatted message for bedrock
-
convertJsonMessage
Convenience method for locale getting. -
convertJsonMessage
-
convertMessage
public static String convertMessage(GeyserSession session, net.kyori.adventure.text.Component message) Convenience method for locale getting. -
convertMessage
DO NOT USE THIS METHOD unless where you're calling from does not have a (reliable) way of getting the context's locale. -
convertMessageLenient
Verifies the message is valid JSON in case it's plaintext. Works around GsonComponentSerializer not using lenient mode. See here for messages sent in lenient mode, and for a description on leniency.- Parameters:
message- Potentially lenient JSON messagelocale- Locale to use for translation strings- Returns:
- Bedrock formatted message
-
convertMessageLenient
-
convertToJavaMessage
Convert a Bedrock message string back to a format Java can understand- Parameters:
message- Message to convert- Returns:
- The formatted JSON string
-
convertToPlainText
Convert a Java message to plain text- Parameters:
message- Message to convertlocale- Locale to use for translation strings- Returns:
- The plain text of the message
-
convertToPlainText
Convert legacy format message to plain text- Parameters:
message- Message to convert- Returns:
- The plain text of the message
-
convertToPlainTextLenient
Convert JSON and legacy format message to plain text- Parameters:
message- Message to convertlocale- Locale to use for translation strings- Returns:
- The plain text of the message
-
handleChatPacket
public static void handleChatPacket(GeyserSession session, net.kyori.adventure.text.Component message, int chatType, net.kyori.adventure.text.Component targetName, net.kyori.adventure.text.Component sender) -
toChatColor
public static String toChatColor(org.geysermc.mcprotocollib.protocol.data.game.scoreboard.TeamColor teamColor) Convert a team color to a chat color- Parameters:
teamColor- Color or format to convert- Returns:
- The chat color character
-
isTooLong
Checks if the given message is over 256 characters (Java edition server chat limit) and sends a message to the user if it is- Parameters:
message- Message to checksession-GeyserSessionfor the user- Returns:
- True if the message is too long, false if not
-
init
public static void init()
-