aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Constants.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java5
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java18
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilterTest.java47
9 files changed, 69 insertions, 18 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java
index 5860b41e..5c9cd4a5 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java
@@ -19,8 +19,8 @@ public class AdFilter extends ChatPatternListener {
// Groups:
// 1. Player name
// 2. Message
- // (?:§8\[[§feadbc0-9]+§8\] )?(?:[§76l]+[<INSERT EMBLEMS>] )?§[67abc](?:\[[§A-Za-z0-9+]+\] )?([A-Za-z0-9_]+)§[f7]: (.+)
- super("(?:§8\\[[§feadbc0-9]+§8\\] )?(?:[§76l]+[" + Constants.LEVEL_EMBLEMS + "] )?§[67abc](?:\\[[§A-Za-z0-9+]+\\] )?([A-Za-z0-9_]+)§[f7]: (.+)");
+ // (?:\[[0-9]+\] )?(?:[<INSERT EMBLEMS>] )?(?:\[[A-Z+]+\] )?([A-Za-z0-9_]+): (.+)
+ super("(?:\\[[0-9]+\\] )?(?:[" + Constants.LEVEL_EMBLEMS+ "] )?(?:\\[[A-Z+]+\\] )?([A-Za-z0-9_]+): (.+)");
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java
index f97e8177..958be11e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java
@@ -11,7 +11,7 @@ import java.util.regex.Matcher;
public class AutopetFilter extends ChatPatternListener {
public AutopetFilter() {
- super("^§cAutopet §eequipped your §7.*§e! §a§lVIEW RULE$");
+ super("^Autopet equipped your .*! VIEW RULE$");
}
@Override
@@ -19,7 +19,7 @@ public class AutopetFilter extends ChatPatternListener {
if (SkyblockerConfigManager.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) {
Objects.requireNonNull(MinecraftClient.getInstance().player).sendMessage(
Text.literal(
- _message.getString().replace("§a§lVIEW RULE", "")
+ _message.getString().replace("VIEW RULE", "")
), true);
}
return true;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java
index a9c551fb..84d32007 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java
@@ -8,7 +8,8 @@ public class ShowOffFilter extends SimpleChatFilter {
private static final String[] SHOW_TYPES = { "is holding", "is wearing", "is friends with a", "has" };
public ShowOffFilter() {
- super("(?:§8\\[[§feadbc0-9]+§8\\] )?(?:[§76l]+[" + Constants.LEVEL_EMBLEMS + "] )?§[67abc](?:\\[[§A-Za-z0-9+]+\\] )?([A-Za-z0-9_]+)[§f7]+ (?:" + String.join("|", SHOW_TYPES) + ") §8\\[(.+)§8\\]");
+ //(?:\[[0-9]+\] )?(?:[<INSERT EMBLEMS>] )?(?:\[[A-Z+]+\] )?([A-Za-z0-9_]+) (?:<INSERT SHOW TYPES>) \[(.+)\]
+ super("(?:\\[[0-9]+\\] )?(?:[" + Constants.LEVEL_EMBLEMS + "] )?(?:\\[[A-Z+]+\\] )?([A-Za-z0-9_]+) (?:" + String.join("|", SHOW_TYPES) + ") \\[(.+)\\]");
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java
index 94d10e3a..6ee13aff 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java
@@ -6,7 +6,7 @@ import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class ToggleSkyMallFilter extends SimpleChatFilter {
public ToggleSkyMallFilter() {
- super("^§8§oYou can disable this messaging by toggling Sky Mall in your /hotm!$");
+ super("^You can disable this messaging by toggling Sky Mall in your /hotm!$");
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/utils/Constants.java b/src/main/java/de/hysky/skyblocker/utils/Constants.java
index 403689ac..d900f917 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Constants.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Constants.java
@@ -12,7 +12,7 @@ import java.util.function.Supplier;
* Holds generic static constants
*/
public interface Constants {
- String LEVEL_EMBLEMS = "\u2E15\u273F\u2741\u2E19\u03B1\u270E\u2615\u2616\u2663\u213B\u2694\u27B6\u26A1\u2604\u269A\u2693\u2620\u269B\u2666\u2660\u2764\u2727\u238A\u1360\u262C\u269D\u29C9\uA214\u32D6\u2E0E\u26A0\uA541\u3020\u30C4\u2948\u2622\u2623\u273E\u269C\u0BD0\u0A6D\u2742\u16C3\u3023\u10F6\u0444\u266A\u266B\u04C3\u26C1\u26C3\u16DD\uA03E\u1C6A\u03A3\u09EB\u2603\u2654\u26C2\u0FC7\uA925\uA56A\u12DE";
+ String LEVEL_EMBLEMS = "\u2E15\u273F\u2741\u2E19\u03B1\u270E\u2615\u2616\u2663\u213B\u2694\u27B6\u26A1\u2604\u269A\u2693\u2620\u269B\u2666\u2660\u2764\u2727\u238A\u1360\u262C\u269D\u29C9\uA214\u32D6\u2E0E\u26A0\uA541\u3020\u30C4\u2948\u2622\u2623\u273E\u269C\u0BD0\u0A6D\u2742\u16C3\u3023\u10F6\u0444\u266A\u266B\u04C3\u26C1\u26C3\u16DD\uA03E\u1C6A\u03A3\u09EB\u2603\u2654\u26C2\u0FC7\uA925\uA56A\u2592\u12DE";
Supplier<MutableText> PREFIX = () -> {
LocalDate time = LocalDate.now();
return Text.empty()
diff --git a/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java b/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java
index bdff2d94..3aea459e 100644
--- a/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java
+++ b/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java
@@ -1,5 +1,7 @@
package de.hysky.skyblocker.utils.chat;
+import java.util.Objects;
+
import de.hysky.skyblocker.skyblock.barn.HungryHiker;
import de.hysky.skyblocker.skyblock.barn.TreasureHunter;
import de.hysky.skyblocker.skyblock.dungeon.Reparty;
@@ -15,6 +17,7 @@ import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
@FunctionalInterface
public interface ChatMessageListener {
@@ -68,7 +71,7 @@ public interface ChatMessageListener {
if (!Utils.isOnSkyblock()) {
return true;
}
- ChatFilterResult result = EVENT.invoker().onMessage(message, message.getString());
+ ChatFilterResult result = EVENT.invoker().onMessage(message, Formatting.strip(message.getString()));
switch (result) {
case ACTION_BAR -> {
if (overlay) {
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java
index 3eec1cd9..9f788cac 100644
--- a/src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java
@@ -15,47 +15,47 @@ class AdFilterTest extends ChatPatternListenerTest<AdFilter> {
@Test
void noRank() {
- assertMatches("§8[§a86§8] §7Advertiser§7: advertisement");
+ assertMatches("[86] Advertiser: advertisement");
}
@Test
void vip() {
- assertMatches("§8[§b280§8] §a[VIP] Advertiser§f: advertisement");
+ assertMatches("[280] [VIP] Advertiser: advertisement");
}
@Test
void mvp() {
- assertMatches("§8[§d256§8] §6§l⚡ §b[MVP§c+§b] Advertiser§f: advertisement");
+ assertMatches("[256] ⚡ [MVP+] Advertiser: advertisement");
}
@Test
void plusPlus() {
- assertMatches("§8[§6222§8] §6[MVP§c++§6] Advertiser§f: advertisement");
+ assertMatches("[222] [MVP++] Advertiser: advertisement");
}
@Test
void capturesMessage() {
- assertGroup("§8[§c325§8] §b[MVP§c+§b] b2dderr§f: buying prismapump", 2, "buying prismapump");
+ assertGroup("[325] [MVP+] b2dderr: buying prismapump", 2, "buying prismapump");
}
@Test
void simpleAd() {
- assertFilters("§8[§e320§8] §b[MVP§c+§b] b2dderr§f: buying prismapump");
+ assertFilters("[320] [MVP+] b2dderr: buying prismapump");
}
@Test
void uppercaseAd() {
- assertFilters("§8[§f70§8] §a[VIP] Tecnoisnoob§f: SELLING REJUVENATE 5 Book on ah!");
+ assertFilters("[70] [VIP] Tecnoisnoob: SELLING REJUVENATE 5 Book on ah!");
}
@Test
void characterSpam() {
- assertFilters("§8[§9144§8] §a[VIP] Benyyy_§f: Hey, Visit my Island, i spent lots of time to build it! I also made donate room! <<<<<<<<<<<<<<<<<<<");
+ assertFilters("[144] [VIP] Benyyy_: Hey, Visit my Island, i spent lots of time to build it! I also made donate room! <<<<<<<<<<<<<<<<<<<");
}
@Test
void notAd() {
- Matcher matcher = listener.pattern.matcher("§8[§6200§8] §a[VIP] NotMatching§f: This message shouldn't match!");
+ Matcher matcher = listener.pattern.matcher("[200] [VIP] NotMatching: This message shouldn't match!");
assertTrue(matcher.matches());
assertFalse(listener.onMatch(null, matcher));
}
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java
index 846acbb8..0e578082 100644
--- a/src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java
@@ -10,6 +10,6 @@ class AutopetFilterTest extends ChatPatternListenerTest<AutopetFilter> {
@Test
void testAutopet() {
- assertMatches("§cAutopet §eequipped your §7[Lvl 85] §6Tiger§e! §a§lVIEW RULE");
+ assertMatches("Autopet equipped your [Lvl 85] Tiger! VIEW RULE");
}
} \ No newline at end of file
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilterTest.java
new file mode 100644
index 00000000..d510274c
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilterTest.java
@@ -0,0 +1,47 @@
+package de.hysky.skyblocker.skyblock.filters;
+
+import org.junit.jupiter.api.Test;
+
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
+
+public class ShowOffFilterTest extends ChatPatternListenerTest<ShowOffFilter> {
+
+ public ShowOffFilterTest() {
+ super(new ShowOffFilter());
+ }
+
+ @Test
+ void holding() {
+ assertMatches("[290] ⚡ [MVP+] Player is holding [Withered Dark Claymore ✪✪✪✪✪➎]");
+ }
+
+ @Test
+ void wearing() {
+ assertMatches("[290] ⚡ [MVP+] Player is wearing [Ancient Storm's Chestplate ✪✪✪✪✪➎]");
+ }
+
+ @Test
+ void isFriendsWith() {
+ assertMatches("[290] [MVP+] Player is friends with a [[Lvl 200] Golden Dragon]");
+ }
+
+ @Test
+ void has() {
+ assertMatches("[290] ⚡ [MVP+] Player has [Withered Hyperion ✪✪✪✪✪]");
+ }
+
+ @Test
+ void noLevelOrEmblem() {
+ assertMatches("[MVP+] Player is holding [Mithril Drill SX-R226]");
+ }
+
+ @Test
+ void noRank() {
+ assertMatches("[290] ⚡ Player is holding [Oak Leaves]");
+ }
+
+ @Test
+ void noLevelOrEmblemOrRank() {
+ assertMatches("Player is holding [Nether Star]");
+ }
+}