Merge pull request #298 from rtm516/language-and-colour-fix

Fixed language processing and chat colours being reset for no reason
This commit is contained in:
Redned 2020-04-10 15:06:55 -05:00 committed by GitHub
commit d8ff735626
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 18 deletions

View File

@ -69,7 +69,7 @@ public class JavaChatTranslator extends PacketTranslator<ServerChatPacket> {
List<String> paramsTranslated = MessageUtils.getTranslationParams(((TranslationMessage) packet.getMessage()).getTranslationParams(), locale);
textPacket.setParameters(paramsTranslated);
textPacket.setMessage(MessageUtils.insertParams(MessageUtils.getTranslatedBedrockMessage(packet.getMessage(), locale, false), paramsTranslated));
textPacket.setMessage(MessageUtils.insertParams(MessageUtils.getTranslatedBedrockMessage(packet.getMessage(), locale, true), paramsTranslated));
} else {
textPacket.setNeedsTranslation(false);

View File

@ -28,16 +28,12 @@ package org.geysermc.connector.utils;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Getter;
import org.geysermc.connector.GeyserConnector;
import java.io.*;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.time.OffsetDateTime;
import java.util.*;
import java.util.zip.ZipFile;

View File

@ -26,16 +26,12 @@
package org.geysermc.connector.utils;
import com.github.steveice10.mc.protocol.data.game.scoreboard.TeamColor;
import com.github.steveice10.mc.protocol.data.message.ChatColor;
import com.github.steveice10.mc.protocol.data.message.ChatFormat;
import com.github.steveice10.mc.protocol.data.message.Message;
import com.github.steveice10.mc.protocol.data.message.TranslationMessage;
import com.github.steveice10.mc.protocol.data.message.*;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonPrimitive;
import org.geysermc.connector.GeyserConnector;
import java.util.*;
import java.util.regex.Matcher;
@ -70,7 +66,7 @@ public class MessageUtils {
}
} else {
String builder = getFormat(message.getStyle().getFormats()) +
getColor(message.getStyle().getColor());
getColorOrParent(message.getStyle());
builder += getTranslatedBedrockMessage(message, locale, false);
strings.add(builder);
}
@ -84,7 +80,7 @@ public class MessageUtils {
}
public static String getTranslationText(TranslationMessage message) {
return getFormat(message.getStyle().getFormats()) + getColor(message.getStyle().getColor())
return getFormat(message.getStyle().getFormats()) + getColorOrParent(message.getStyle())
+ "%" + message.getTranslationKey();
}
@ -103,7 +99,7 @@ public class MessageUtils {
StringBuilder builder = new StringBuilder(messageText);
for (Message msg : message.getExtra()) {
builder.append(getFormat(msg.getStyle().getFormats()));
builder.append(getColor(msg.getStyle().getColor()));
builder.append(getColorOrParent(msg.getStyle()));
if (!(msg.getText() == null)) {
boolean isTranslationMessage = (msg instanceof TranslationMessage);
builder.append(getTranslatedBedrockMessage(msg, locale, isTranslationMessage));
@ -136,6 +132,16 @@ public class MessageUtils {
return newMessage;
}
private static String getColorOrParent(MessageStyle style) {
ChatColor chatColor = style.getColor();
if (chatColor == ChatColor.NONE) {
return getColor(style.getParent().getColor());
}
return getColor(chatColor);
}
private static String getColor(ChatColor color) {
String base = "\u00a7";
switch (color) {

View File

@ -25,16 +25,11 @@
package org.geysermc.connector.utils;
import org.geysermc.connector.GeyserConnector;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;