Skip to content

Commit 58700e6

Browse files
Add support for legacy hex (#147)
1 parent 9e369f6 commit 58700e6

File tree

1 file changed

+11
-7
lines changed
  • Plugin/src/main/java/dev/lrxh/neptune/utils

1 file changed

+11
-7
lines changed

Plugin/src/main/java/dev/lrxh/neptune/utils/CC.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.intellij.lang.annotations.Subst;
1515

1616
import java.util.Arrays;
17+
import java.util.regex.Pattern;
1718

1819
@UtilityClass
1920
public class CC {
@@ -43,7 +44,8 @@ public TextComponent color(String message) {
4344

4445
return Component.text()
4546
.append(fixed)
46-
.decorationIfAbsent(TextDecoration.ITALIC, hasItalic ? TextDecoration.State.TRUE : TextDecoration.State.FALSE)
47+
.decorationIfAbsent(TextDecoration.ITALIC,
48+
hasItalic ? TextDecoration.State.TRUE : TextDecoration.State.FALSE)
4749
.build();
4850
}
4951

@@ -71,7 +73,10 @@ private String convertLegacyToMiniMessage(String text) {
7173
.replace("&m", "<strikethrough>")
7274
.replace("&k", "<obfuscated>")
7375
.replace("&r", "<reset>");
74-
76+
Pattern LEGACY_HEX = Pattern.compile(
77+
"[§&]x[§&]([0-9a-f])[§&]([0-9a-f])[§&]([0-9a-f])[§&]([0-9a-f])[§&]([0-9a-f])[§&]([0-9a-f])", Pattern.CASE_INSENSITIVE);
78+
text = LEGACY_HEX.matcher(text)
79+
.replaceAll("<#$1$2$3$4$5$6>");
7580
return text.replaceAll("(?i)&#([a-f0-9]{6})", "<#$1>");
7681
}
7782

@@ -81,14 +86,13 @@ public Component returnMessage(Player player, String message, Replacement... rep
8186
TagResolver resolver = TagResolver.resolver(
8287
Arrays.stream(replacements)
8388
.map(replacement -> {
84-
@Subst("") String key = replacement.getPlaceholder().replaceAll("^<|>$", "").toLowerCase();
89+
@Subst("")
90+
String key = replacement.getPlaceholder().replaceAll("^<|>$", "").toLowerCase();
8591
return TagResolver.resolver(
8692
key,
87-
Placeholder.component(key, replacement.getReplacement()).tag()
88-
);
93+
Placeholder.component(key, replacement.getReplacement()).tag());
8994
})
90-
.toArray(TagResolver[]::new)
91-
);
95+
.toArray(TagResolver[]::new));
9296
return PlaceholderUtil.format(MiniMessage.miniMessage().deserialize(miniMessageInput, resolver), player);
9397
}
9498
}

0 commit comments

Comments
 (0)