diff --git a/pom.xml b/pom.xml
index 5d6700f3..c6283de7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,9 +73,7 @@
true
- net.kyori:adventure-text-minimessage
- net.kyori:adventure-text-serializer-gson
- net.kyori:adventure-api
+ net.kyori:*
@@ -100,7 +98,7 @@
9.0
1.18.16
master-SNAPSHOT
- [1.16,]
+ [1.16,1.16.5]
4.13.1
[1.16,]
1.12-SNAPSHOT
diff --git a/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java b/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java
index 0fba0663..c9a5dc8c 100644
--- a/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java
+++ b/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java
@@ -569,13 +569,8 @@ public class FlagWatcher {
}
if (NmsVersion.v1_13.isSupported()) {
- Optional optional;
-
- if (DisguiseUtilities.hasAdventureTextSupport()) {
- optional = Optional.of(AdventureComponentConverter.fromComponent(DisguiseUtilities.getAdventureChat(name)));
- } else {
- optional = Optional.of(WrappedChatComponent.fromJson(ComponentSerializer.toString(DisguiseUtilities.getColoredChat(name))));
- }
+ Optional optional =
+ Optional.of(WrappedChatComponent.fromJson(DisguiseUtilities.serialize(DisguiseUtilities.getAdventureChat(name))));
setData(MetaIndex.ENTITY_CUSTOM_NAME, optional);
} else {
diff --git a/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java b/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java
index b160a8b9..c2e98eff 100644
--- a/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java
+++ b/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java
@@ -39,7 +39,6 @@ import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.md_5.bungee.api.chat.BaseComponent;
-import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.chat.ComponentSerializer;
import org.apache.commons.lang.StringUtils;
@@ -219,29 +218,8 @@ public class DisguiseUtilities {
}
}
- /**
- * This should return true every single time, except for when ProtocolLib isn't updated for AdventureComponentConverter
- *
- * The reason being is that we shade the adventure text library in the plugin
- */
- public static boolean hasAdventureTextSupport() {
- if (adventureTextSupport == null) {
- try {
- adventureTextSupport = true;
-
- // Force a test for support by actually trying to use it all
- BaseComponent[] test1 = ComponentSerializer.parse(GsonComponentSerializer.gson().serialize(getAdventureChat("test")));
- WrappedChatComponent test2 = AdventureComponentConverter.fromComponent(DisguiseUtilities.getAdventureChat("test"));
-
- if (test1 == null || test1.length == 0 || test2 == null) {
- adventureTextSupport = false;
- }
- } catch (Throwable ex) {
- adventureTextSupport = false;
- }
- }
-
- return adventureTextSupport;
+ public static String serialize(Component component) {
+ return GsonComponentSerializer.gson().serialize(component);
}
public static void doSkinUUIDWarning(CommandSender sender) {
@@ -2549,110 +2527,12 @@ public class DisguiseUtilities {
return MiniMessage.get().parse(message);
}
- /**
- * Modification of TextComponent.fromLegacyText
- */
public static BaseComponent[] getColoredChat(String message) {
if (message.isEmpty()) {
return new BaseComponent[0];
}
- if (hasAdventureTextSupport()) {
- return ComponentSerializer.parse(GsonComponentSerializer.gson().serialize(getAdventureChat(message)));
- }
-
- ArrayList components = new ArrayList();
- StringBuilder builder = new StringBuilder();
- TextComponent component = new TextComponent();
- Matcher matcher = urlMatcher.matcher(message);
-
- for (int i = 0; i < message.length(); ++i) {
- char c = message.charAt(i);
- TextComponent old;
-
- if (c == ChatColor.COLOR_CHAR && i + 1 >= message.length()) {
- break;
- }
-
- if (c == ChatColor.COLOR_CHAR || (NmsVersion.v1_16.isSupported() && c == '<' && i + 9 < message.length() &&
- Pattern.matches("<#[0-9a-fA-F]{6}>", message.substring(i, i + 9)))) {
- i++;
-
- net.md_5.bungee.api.ChatColor format;
-
- if (c != ChatColor.COLOR_CHAR || (message.length() - i >= 7 && Pattern.matches("#[0-9a-fA-F]{6}", message.substring(i, i + 7)))) {
- format = net.md_5.bungee.api.ChatColor.of(message.substring(i, i + 7));
-
- i += c == '<' ? 7 : 8;
- } else {
- c = message.charAt(i);
-
- if (c >= 'A' && c <= 'Z') {
- c = (char) (c + 32);
- }
-
- format = net.md_5.bungee.api.ChatColor.getByChar(c);
- }
-
- if (format != null) {
- if (builder.length() > 0) {
- old = component;
- component = new TextComponent(component);
- old.setText(builder.toString());
- builder = new StringBuilder();
- components.add(old);
- }
-
- if (format == net.md_5.bungee.api.ChatColor.BOLD) {
- component.setBold(true);
- } else if (format == net.md_5.bungee.api.ChatColor.ITALIC) {
- component.setItalic(true);
- } else if (format == net.md_5.bungee.api.ChatColor.UNDERLINE) {
- component.setUnderlined(true);
- } else if (format == net.md_5.bungee.api.ChatColor.STRIKETHROUGH) {
- component.setStrikethrough(true);
- } else if (format == net.md_5.bungee.api.ChatColor.MAGIC) {
- component.setObfuscated(true);
- } else if (format == net.md_5.bungee.api.ChatColor.RESET) {
- component = new TextComponent();
- component.setColor(net.md_5.bungee.api.ChatColor.WHITE);
- } else {
- component = new TextComponent();
- component.setColor(format);
- }
- }
- } else {
- int pos = message.indexOf(32, i);
- if (pos == -1) {
- pos = message.length();
- }
-
- if (matcher.region(i, pos).find()) {
- if (builder.length() > 0) {
- old = component;
- component = new TextComponent(component);
- old.setText(unquoteHex(builder.toString()));
- builder = new StringBuilder();
- components.add(old);
- }
-
- old = component;
- component = new TextComponent(component);
- String urlString = message.substring(i, pos);
- component.setText(unquoteHex(urlString));
- component.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, urlString.startsWith("http") ? urlString : "http://" + urlString));
- components.add(component);
- i += pos - i - 1;
- component = old;
- } else {
- builder.append(c);
- }
- }
- }
-
- component.setText(unquoteHex(builder.toString()));
- components.add(component);
- return components.toArray(new BaseComponent[0]);
+ return ComponentSerializer.parse(serialize(getAdventureChat(message)));
}
public static void sendProtocolLibUpdateMessage(CommandSender p, String version, String requiredProtocolLib) {
diff --git a/src/main/java/me/libraryaddict/disguise/utilities/translations/LibsMsg.java b/src/main/java/me/libraryaddict/disguise/utilities/translations/LibsMsg.java
index ec4a66e7..cec73b14 100644
--- a/src/main/java/me/libraryaddict/disguise/utilities/translations/LibsMsg.java
+++ b/src/main/java/me/libraryaddict/disguise/utilities/translations/LibsMsg.java
@@ -297,12 +297,9 @@ public enum LibsMsg {
SELF_DISGUISE_HIDDEN("Self disguise hidden as it's too tall..");
private final String string;
- private final String useString;
LibsMsg(String string) {
this.string = string;
-
- useString = DisguiseUtilities.hasAdventureTextSupport() ? string : getVanillaFormat();
}
public String getVanillaFormat() {
@@ -319,10 +316,6 @@ public enum LibsMsg {
return string;
}
- public String getStringToUse() {
- return useString;
- }
-
public BaseComponent[] getChat(Object... strings) {
String string = get(strings);
diff --git a/src/main/java/me/libraryaddict/disguise/utilities/translations/TranslateType.java b/src/main/java/me/libraryaddict/disguise/utilities/translations/TranslateType.java
index c9e420ab..a95b523d 100644
--- a/src/main/java/me/libraryaddict/disguise/utilities/translations/TranslateType.java
+++ b/src/main/java/me/libraryaddict/disguise/utilities/translations/TranslateType.java
@@ -138,19 +138,19 @@ public enum TranslateType {
save(null, message, comment);
}
- public void save(LibsMsg orig, String message, String comment) {
- toDeDupe.put(StringEscapeUtils.escapeJava(message.replace("§", "&")), false);
+ public void save(LibsMsg orig, String rawMessage, String comment) {
+ toDeDupe.put(StringEscapeUtils.escapeJava(rawMessage.replace("§", "&")), false);
- if (translated.containsKey(message)) {
+ if (translated.containsKey(rawMessage)) {
return;
}
- String value = message;
+ String value = rawMessage;
if (orig != null) {
String vanilla = orig.getVanillaFormat();
- if (translated.containsKey(vanilla) && !vanilla.equals(message) && !translated.get(vanilla).equals(vanilla)) {
+ if (translated.containsKey(vanilla) && !vanilla.equals(rawMessage) && !translated.get(vanilla).equals(vanilla)) {
value = translated.get(vanilla);
for (ChatColor color : ChatColor.values()) {
@@ -159,7 +159,7 @@ public enum TranslateType {
}
}
- translated.put(message, value);
+ translated.put(rawMessage, value);
try {
boolean exists = getFile().exists();
@@ -185,10 +185,10 @@ public enum TranslateType {
}
}
- String sanitizedKey = StringEscapeUtils.escapeJava(message.replace("§", "&"));
- String sanitized = StringEscapeUtils.escapeJava(value.replace("§", "&"));
+ String sanitizedKey = StringEscapeUtils.escapeJava(rawMessage.replace("§", "&"));
+ String sanitizedValue = StringEscapeUtils.escapeJava(value.replace("§", "&"));
- writer.write("\n" + (comment != null ? "# " + comment + "\n" : "") + "\"" + sanitizedKey + "\": \"" + sanitized + "\"\n");
+ writer.write("\n" + (comment != null ? "# " + comment + "\n" : "") + "\"" + sanitizedKey + "\": \"" + sanitizedValue + "\"\n");
written++;
} catch (Exception ex) {
ex.printStackTrace();
@@ -274,7 +274,7 @@ public enum TranslateType {
}
public String get(LibsMsg msg) {
- return get(msg.getStringToUse());
+ return get(msg.getRaw());
}
public String get(String msg) {