diff --git a/api/src/main/java/com/alttd/chat/objects/ModifiableString.java b/api/src/main/java/com/alttd/chat/objects/ModifiableString.java
index 5f048a4..af0c506 100644
--- a/api/src/main/java/com/alttd/chat/objects/ModifiableString.java
+++ b/api/src/main/java/com/alttd/chat/objects/ModifiableString.java
@@ -61,4 +61,8 @@ public class ModifiableString {
return list;
}));
}
+
+ public void removeStringAtStart(String s) {
+ text = text.replaceText(TextReplacementConfig.builder().match("^" + s).replacement("").build());
+ }
}
diff --git a/api/src/test/java/ReverseTest.java b/api/src/test/java/ReverseTest.java
index 271b266..a7c0926 100644
--- a/api/src/test/java/ReverseTest.java
+++ b/api/src/test/java/ReverseTest.java
@@ -1,3 +1,4 @@
+import com.alttd.chat.config.Config;
import com.alttd.chat.objects.ModifiableString;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
@@ -20,6 +21,31 @@ public class ReverseTest {
assertEquals(expectedOutput, modifiableString.string());
}
+ @Test
+ public void testRemoveKeyword() {
+ String input = "Hello how are you doing today?";
+ MiniMessage miniMessage = MiniMessage.miniMessage();
+
+ ModifiableString modifiableString = new ModifiableString(miniMessage.deserialize(Config.APRIL_FOOLS_RESET + " " + input));
+ modifiableString.removeStringAtStart(Config.APRIL_FOOLS_RESET + " ");
+
+ assertEquals(input, modifiableString.string());
+ }
+
+ @Test
+ public void testRemoveKeywordWithTags() {
+ MiniMessage miniMessage = MiniMessage.miniMessage();
+ String input = "" + Config.APRIL_FOOLS_RESET + " Hello how are you doing today?";
+ String expectedOutput = "Hello how are you doing today?";
+ Component deserialize = miniMessage.deserialize(input);
+
+ ModifiableString modifiableString = new ModifiableString(deserialize);
+ modifiableString.removeStringAtStart(Config.APRIL_FOOLS_RESET + " ");
+
+ assertEquals(expectedOutput, modifiableString.string());
+ }
+
+
@Test
public void testReverseStringWithTags() {
String input = "Hello how are you doing today?";
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 6b6aa58..bebfd04 100755
--- a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java
+++ b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java
@@ -110,8 +110,12 @@ public class ChatListener implements Listener {
Set playersToPing = new HashSet<>();
pingPlayers(playersToPing, modifiableString, player);
LocalDate now = LocalDate.now();
- if (now.getMonth().equals(Month.APRIL) && now.getDayOfMonth() == 1 && !modifiableString.string().startsWith(Config.APRIL_FOOLS_RESET)) {
- modifiableString.reverse();
+ if (now.getMonth().equals(Month.APRIL) && now.getDayOfMonth() == 1) {
+ if (modifiableString.string().startsWith(Config.APRIL_FOOLS_RESET + " ")) {
+ modifiableString.removeStringAtStart(Config.APRIL_FOOLS_RESET + " ");
+ } else {
+ modifiableString.reverse();
+ }
}
input = render(player, modifiableString.component());
for (Player receiver : receivers) {