From 9d7f944c88493de632ff8aa6f6ad021fd0fe1240 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sat, 15 Jul 2023 17:42:12 +0200 Subject: [PATCH 1/2] Fix Tagging players and triggering a replacematcher not resetting chatcolor --- api/src/main/java/com/alttd/chat/objects/ChatFilter.java | 2 +- galaxy/build.gradle.kts | 2 +- .../src/main/java/com/alttd/chat/listeners/ChatListener.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api/src/main/java/com/alttd/chat/objects/ChatFilter.java b/api/src/main/java/com/alttd/chat/objects/ChatFilter.java index d39d856..49b0037 100755 --- a/api/src/main/java/com/alttd/chat/objects/ChatFilter.java +++ b/api/src/main/java/com/alttd/chat/objects/ChatFilter.java @@ -110,7 +110,7 @@ public class ChatFilter { String group = matcher.group(); modifiableString.replace(TextReplacementConfig.builder() .matchLiteral(group) - .replacement(group.substring(0, length)) + .replacement(Component.text(group.substring(0, length), modifiableString.component().color())) .build()); } } diff --git a/galaxy/build.gradle.kts b/galaxy/build.gradle.kts index b1b5eb8..7ad5145 100644 --- a/galaxy/build.gradle.kts +++ b/galaxy/build.gradle.kts @@ -9,7 +9,7 @@ plugins { dependencies { implementation(project(":api")) // API - compileOnly("com.alttd:Galaxy-API:1.19.2-R0.1-SNAPSHOT") // Galaxy + compileOnly("com.alttd:Galaxy-API:1.20.1-R0.1-SNAPSHOT") // Galaxy compileOnly("com.gitlab.ruany:LiteBansAPI:0.3.5") // move to proxy compileOnly("org.apache.commons:commons-lang3:3.12.0") // needs an alternative, already removed from upstream api and will be removed in server compileOnly("net.luckperms:api:5.3") // Luckperms diff --git a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java index 91c77a2..1ce73a0 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java @@ -18,6 +18,7 @@ import io.papermc.paper.event.player.AsyncChatEvent; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.PatternReplacementResult; import net.kyori.adventure.text.TextReplacementConfig; +import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; @@ -81,7 +82,7 @@ public class ChatListener implements Listener { .filter(receiver -> !ChatUserManager.getChatUser(receiver.getUniqueId()).getIgnoredPlayers().contains(player.getUniqueId())) .collect(Collectors.toSet()); - Component input = event.message(); + Component input = event.message().colorIfAbsent(NamedTextColor.WHITE); ModifiableString modifiableString = new ModifiableString(input); // todo a better way for this From ffa90b5c942f163269e15d234033cf5798939ccd Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sat, 15 Jul 2023 17:45:03 +0200 Subject: [PATCH 2/2] add MENTIONPLAYERTAG to Config.java --- api/src/main/java/com/alttd/chat/config/Config.java | 2 ++ galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/com/alttd/chat/config/Config.java b/api/src/main/java/com/alttd/chat/config/Config.java index bbb4f12..a2028f0 100755 --- a/api/src/main/java/com/alttd/chat/config/Config.java +++ b/api/src/main/java/com/alttd/chat/config/Config.java @@ -172,6 +172,7 @@ public final class Config { public static String CONSOLENAME = "Console"; public static UUID CONSOLEUUID = UUID.randomUUID(); public static int EMOTELIMIT = 3; + public static String MENTIONPLAYERTAG = "@"; private static void settings() { PREFIXGROUPS = getList("settings.prefix-groups", Lists.newArrayList("discord", "socialmedia", "eventteam", "eventleader", "youtube", "twitch", "developer")); @@ -183,6 +184,7 @@ public final class Config { CONSOLEUUID = UUID.fromString(getString("settings.console-uuid", CONSOLEUUID.toString())); MINIMIUMSTAFFRANK = getString("settings.minimum-staff-rank", MINIMIUMSTAFFRANK); EMOTELIMIT = getInt("settings.emote-limit", EMOTELIMIT); + MENTIONPLAYERTAG = getString("settings.mention-player-tag", MENTIONPLAYERTAG); } public static List MESSAGECOMMANDALIASES = new ArrayList<>(); diff --git a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java index 1ce73a0..c9fe062 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java @@ -60,7 +60,7 @@ public class ChatListener implements Listener { event.result(formatComponent.replaceText(TextReplacementConfig.builder().match("%message%").replacement(message).build())); } - private final Component mention = MiniMessage.miniMessage().deserialize("@"); //TODO move to config + private final Component mention = MiniMessage.miniMessage().deserialize(Config.MENTIONPLAYERTAG); @EventHandler(ignoreCancelled = true) public void onPlayerChat(AsyncChatEvent event) { event.setCancelled(true); //Always cancel the event because we do not want to deal with Microsoft's stupid bans