From f91ddb2521be6084188e6dec42d49a7549d19c76 Mon Sep 17 00:00:00 2001 From: KennyTV Date: Thu, 25 Jun 2020 09:57:26 +0200 Subject: [PATCH] Hotfix RGB Bungee legacy insertions Fixes #1838 We should at some point completely remove the Bungee chat lib and handle everything with plain json ourselves --- .../protocol1_13to1_12_2/ChatRewriter.java | 61 ++++++++++--------- .../Protocol1_13To1_12_2.java | 23 +++---- pom.xml | 2 +- 3 files changed, 41 insertions(+), 45 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java index 08938366a..d18076058 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java @@ -44,35 +44,38 @@ public class ChatRewriter { builder = new StringBuilder(); components.add(old); } - switch (format) { - case BOLD: - component.setBold(true); - break; - case ITALIC: - component.setItalic(true); - break; - case UNDERLINE: - component.setUnderlined(true); - break; - case STRIKETHROUGH: - component.setStrikethrough(true); - break; - case MAGIC: - component.setObfuscated(true); - break; - case RESET: - format = defaultColor; - default: - component = new TextComponent(); - component.setColor(format); - // ViaVersion start - component.setBold(false); - component.setItalic(false); - component.setUnderlined(false); - component.setStrikethrough(false); - component.setObfuscated(false); - // ViaVersion end - break; + if (ChatColor.BOLD.equals(format)) { + component.setBold(true); + } else if (ChatColor.ITALIC.equals(format)) { + component.setItalic(true); + } else if (ChatColor.UNDERLINE.equals(format)) { + component.setUnderlined(true); + } else if (ChatColor.STRIKETHROUGH.equals(format)) { + component.setStrikethrough(true); + } else if (ChatColor.MAGIC.equals(format)) { + component.setObfuscated(true); + } else if (ChatColor.RESET.equals(format)) { + format = defaultColor; + + component = new TextComponent(); + component.setColor(format); + // ViaVersion start + component.setBold(false); + component.setItalic(false); + component.setUnderlined(false); + component.setStrikethrough(false); + component.setObfuscated(false); + // ViaVersion end + } else { + component = new TextComponent(); + component.setColor(format); + // ViaVersion start + component.setBold(false); + component.setItalic(false); + component.setUnderlined(false); + component.setStrikethrough(false); + component.setObfuscated(false); + // ViaVersion end } continue; } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java index 4f345578c..f08ad02c5 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/Protocol1_13To1_12_2.java @@ -1,5 +1,6 @@ package us.myles.ViaVersion.protocols.protocol1_13to1_12_2; +import com.google.common.collect.Sets; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import net.md_5.bungee.api.ChatColor; @@ -40,8 +41,9 @@ import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.storage.TabCompleteTra import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import us.myles.ViaVersion.util.GsonUtil; -import java.util.EnumMap; +import java.util.HashMap; import java.util.Map; +import java.util.Set; public class Protocol1_13To1_12_2 extends Protocol { @@ -111,7 +113,9 @@ public class Protocol1_13To1_12_2 extends Protocol SCOREBOARD_TEAM_NAME_REWRITE = new EnumMap<>(ChatColor.class); + protected static final Map SCOREBOARD_TEAM_NAME_REWRITE = new HashMap<>(); + private static final Set FORMATTING_CODES = Sets.newHashSet(ChatColor.MAGIC, ChatColor.BOLD, ChatColor.STRIKETHROUGH, + ChatColor.UNDERLINE, ChatColor.ITALIC, ChatColor.RESET); static { SCOREBOARD_TEAM_NAME_REWRITE.put(ChatColor.BLACK, 'g'); @@ -1045,19 +1049,8 @@ public class Protocol1_13To1_12_2 extends Protocol net.md-5 bungeecord-chat - 1.15-SNAPSHOT + 1.16-R0.2-SNAPSHOT compile