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