From df9c1b29f0ca35f97e1c74910f6d0e01c2ca6ccb Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Tue, 23 Apr 2024 20:18:43 -0400 Subject: Refactor usages of Optional's orElseThrow to getOrThrow Mojang's method is more concise and provides far superior error messages incase the value isn't present (like why it happened) whereas with Optionals its just the standard value not present message. --- .../skyblocker/skyblock/dungeon/secrets/SecretWaypointTest.java | 8 ++++---- .../skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/test/java/de/hysky/skyblocker/skyblock') diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypointTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypointTest.java index 12bfe98b..ef2a9e1b 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypointTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypointTest.java @@ -25,7 +25,7 @@ public class SecretWaypointTest { @Test void testCodecSerialize() { SecretWaypoint waypoint = new SecretWaypoint(0, SecretWaypoint.Category.DEFAULT, "name", new BlockPos(-1, 0, 1)); - JsonElement json = SecretWaypoint.CODEC.encodeStart(JsonOps.INSTANCE, waypoint).result().orElseThrow(); + JsonElement json = SecretWaypoint.CODEC.encodeStart(JsonOps.INSTANCE, waypoint).getOrThrow(); String expectedJson = "{\"secretIndex\":0,\"category\":\"default\",\"name\":\"name\",\"pos\":[-1,0,1]}"; Assertions.assertEquals(expectedJson, json.toString()); @@ -34,7 +34,7 @@ public class SecretWaypointTest { @Test void testCodecDeserialize() { String json = "{\"secretIndex\":0,\"category\":\"default\",\"name\":\"name\",\"pos\":[-1,0,1]}"; - SecretWaypoint waypoint = SecretWaypoint.CODEC.parse(JsonOps.INSTANCE, gson.fromJson(json, JsonElement.class)).result().orElseThrow(); + SecretWaypoint waypoint = SecretWaypoint.CODEC.parse(JsonOps.INSTANCE, gson.fromJson(json, JsonElement.class)).getOrThrow(); SecretWaypoint expectedWaypoint = new SecretWaypoint(0, SecretWaypoint.Category.DEFAULT, "name", new BlockPos(-1, 0, 1)); Assertions.assertEquals(expectedWaypoint, waypoint); @@ -43,7 +43,7 @@ public class SecretWaypointTest { @Test void testListCodecSerialize() { List waypoints = List.of(new SecretWaypoint(0, SecretWaypoint.Category.DEFAULT, "name", new BlockPos(-1, 0, 1)), new SecretWaypoint(1, SecretWaypoint.Category.CHEST, "name", new BlockPos(2, 0, -2))); - JsonElement json = SecretWaypoint.LIST_CODEC.encodeStart(JsonOps.INSTANCE, waypoints).result().orElseThrow(); + JsonElement json = SecretWaypoint.LIST_CODEC.encodeStart(JsonOps.INSTANCE, waypoints).getOrThrow(); String expectedJson = "[{\"secretIndex\":0,\"category\":\"default\",\"name\":\"name\",\"pos\":[-1,0,1]},{\"secretIndex\":1,\"category\":\"chest\",\"name\":\"name\",\"pos\":[2,0,-2]}]"; Assertions.assertEquals(expectedJson, json.toString()); @@ -52,7 +52,7 @@ public class SecretWaypointTest { @Test void testListCodecDeserialize() { String json = "[{\"secretIndex\":0,\"category\":\"default\",\"name\":\"name\",\"pos\":[-1,0,1]},{\"secretIndex\":1,\"category\":\"chest\",\"name\":\"name\",\"pos\":[2,0,-2]}]"; - List waypoints = SecretWaypoint.LIST_CODEC.parse(JsonOps.INSTANCE, gson.fromJson(json, JsonElement.class)).result().orElseThrow(); + List waypoints = SecretWaypoint.LIST_CODEC.parse(JsonOps.INSTANCE, gson.fromJson(json, JsonElement.class)).getOrThrow(); List expectedWaypoints = List.of(new SecretWaypoint(0, SecretWaypoint.Category.DEFAULT, "name", new BlockPos(-1, 0, 1)), new SecretWaypoint(1, SecretWaypoint.Category.CHEST, "name", new BlockPos(2, 0, -2))); Assertions.assertEquals(expectedWaypoints.size(), waypoints.size()); diff --git a/src/test/java/de/hysky/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java b/src/test/java/de/hysky/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java index 2709aba4..5c52c3ad 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java @@ -15,7 +15,7 @@ public class ArmorTrimIdSerializationTest { @Test void serialize() { ArmorTrimId armorTrimId = new ArmorTrimId(new Identifier("material_id"), new Identifier("pattern_id")); - JsonElement json = ArmorTrimId.CODEC.encodeStart(JsonOps.INSTANCE, armorTrimId).result().orElseThrow(); + JsonElement json = ArmorTrimId.CODEC.encodeStart(JsonOps.INSTANCE, armorTrimId).getOrThrow(); String expectedJson = "{\"material\":\"minecraft:material_id\",\"pattern\":\"minecraft:pattern_id\"}"; Assertions.assertEquals(expectedJson, json.toString()); @@ -24,7 +24,7 @@ public class ArmorTrimIdSerializationTest { @Test void deserialize() { String json = "{\"material\":\"minecraft:material_id\",\"pattern\":\"minecraft:pattern_id\"}"; - ArmorTrimId armorTrimId = ArmorTrimId.CODEC.parse(JsonOps.INSTANCE, gson.fromJson(json, JsonElement.class)).result().orElseThrow(); + ArmorTrimId armorTrimId = ArmorTrimId.CODEC.parse(JsonOps.INSTANCE, gson.fromJson(json, JsonElement.class)).getOrThrow(); ArmorTrimId expectedArmorTrimId = new ArmorTrimId(new Identifier("material_id"), new Identifier("pattern_id")); Assertions.assertEquals(expectedArmorTrimId, armorTrimId); -- cgit From 88ff7afb7e6ab60f384e571d378b76f52ed3dfbd Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Tue, 30 Apr 2024 17:59:50 -0400 Subject: Make filters ignore formatting codes The formatting codes caused a mess in longer regexes and are fragile if Hypixel changes them or moves fully to Text components. Hypixel also added emblems that display in dark purple and light blue which were obviously incompatible due to the hardcoded formatting codes. --- .../skyblocker/skyblock/filters/AdFilter.java | 4 +- .../skyblocker/skyblock/filters/AutopetFilter.java | 4 +- .../skyblocker/skyblock/filters/ShowOffFilter.java | 3 +- .../skyblock/filters/ToggleSkyMallFilter.java | 2 +- .../java/de/hysky/skyblocker/utils/Constants.java | 2 +- .../skyblocker/utils/chat/ChatMessageListener.java | 5 ++- .../skyblocker/skyblock/filters/AdFilterTest.java | 18 ++++----- .../skyblock/filters/AutopetFilterTest.java | 2 +- .../skyblock/filters/ShowOffFilterTest.java | 47 ++++++++++++++++++++++ 9 files changed, 69 insertions(+), 18 deletions(-) create mode 100644 src/test/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilterTest.java (limited to 'src/test/java/de/hysky/skyblocker/skyblock') 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]+[] )?§[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]+\] )?(?:[] )?(?:\[[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]+\] )?(?:[] )?(?:\[[A-Z+]+\] )?([A-Za-z0-9_]+) (?:) \[(.+)\] + 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 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 { @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 { @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 { + + 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]"); + } +} -- cgit From 1eea5cb1cf965bdb0552bdc9615d06a9875aa02e Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Wed, 1 May 2024 10:58:20 -0400 Subject: Fix StatusBarTracker --- src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java | 7 ++++++- .../java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java | 9 ++++----- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src/test/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java b/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java index e8f98e93..c31e2107 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java @@ -21,8 +21,8 @@ public class StatusBarTracker { private int defense = 0; public void init() { + ClientReceiveMessageEvents.ALLOW_GAME.register(this::allowOverlayMessage); ClientReceiveMessageEvents.MODIFY_GAME.register(this::onOverlayMessage); - ClientReceiveMessageEvents.GAME_CANCELED.register(this::onOverlayMessage); } public Resource getHealth() { @@ -66,6 +66,11 @@ public class StatusBarTracker { return str; } + private boolean allowOverlayMessage(Text text, boolean overlay) { + onOverlayMessage(text, overlay); + return true; + } + private Text onOverlayMessage(Text text, boolean overlay) { if (!overlay || !Utils.isOnSkyblock() || !SkyblockerConfigManager.get().general.bars.enableBars || Utils.isInTheRift()) { return text; diff --git a/src/test/java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java b/src/test/java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java index c058da5d..9ab4e927 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java @@ -15,13 +15,12 @@ class StatusBarTrackerTest { void assertStats(int hp, int maxHp, int def, int mana, int maxMana, int overflowMana) { int absorption = 0; - if(hp > maxHp) { - absorption = hp - maxHp; - hp -= absorption; - if(absorption > maxHp) - absorption = maxHp; + if (hp > maxHp) { + absorption = Math.min(hp - maxHp, maxHp); + hp = maxHp; } assertEquals(new StatusBarTracker.Resource(hp, maxHp, absorption), tracker.getHealth()); + assertEquals(def, tracker.getDefense()); assertEquals(new StatusBarTracker.Resource(mana, maxMana, overflowMana), tracker.getMana()); } -- cgit From c36b93a6d1887596fc75759743a29955142e3cc7 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Wed, 1 May 2024 21:33:43 -0400 Subject: Remove formatting codes from a few forgotten classes Fixes Quiz, Threee Weirdos and other solvers --- src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java | 2 +- src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java | 2 +- .../de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java | 2 +- .../java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java | 2 +- src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java | 2 +- src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java | 2 +- .../hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdosTest.java | 4 ++-- .../de/hysky/skyblocker/skyblock/dungeon/puzzle/TriviaTest.java | 6 +++--- src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java | 2 +- src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) (limited to 'src/test/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java index abb4a76d..f0f75600 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java @@ -14,7 +14,7 @@ public class HungryHiker extends ChatPatternListener { private static final Map foods; - public HungryHiker() { super("^§e\\[NPC] Hungry Hiker§f: (The food I want is|(I asked for) food that is) ([a-zA-Z, '\\-]*\\.)$"); } + public HungryHiker() { super("^\\[NPC] Hungry Hiker: (The food I want is|(I asked for) food that is) ([a-zA-Z, '\\-]*\\.)$"); } @Override public ChatFilterResult state() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java index 191014d5..032c7df9 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java @@ -14,7 +14,7 @@ public class TreasureHunter extends ChatPatternListener { private static final Map locations; - public TreasureHunter() { super("^§e\\[NPC] Treasure Hunter§f: ([a-zA-Z, '\\-\\.]*)$"); } + public TreasureHunter() { super("^\\[NPC] Treasure Hunter: ([a-zA-Z, '\\-\\.]*)$"); } @Override public ChatFilterResult state() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java index c5e55f93..fd7a8dbf 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java @@ -12,7 +12,7 @@ import java.util.regex.Matcher; public class ThreeWeirdos extends ChatPatternListener { public ThreeWeirdos() { - super("^§e\\[NPC] §c([A-Z][a-z]+)§f: (?:The reward is(?: not in my chest!|n't in any of our chests\\.)|My chest (?:doesn't have the reward\\. We are all telling the truth\\.|has the reward and I'm telling the truth!)|At least one of them is lying, and the reward is not in §c§c[A-Z][a-z]+'s §rchest\\!|Both of them are telling the truth\\. Also, §c§c[A-Z][a-z]+ §rhas the reward in their chest\\!)$"); + super("^\\[NPC] ([A-Z][a-z]+): (?:The reward is(?: not in my chest!|n't in any of our chests\\.)|My chest (?:doesn't have the reward\\. We are all telling the truth\\.|has the reward and I'm telling the truth!)|At least one of them is lying, and the reward is not in [A-Z][a-z]+'s chest\\!|Both of them are telling the truth\\. Also, [A-Z][a-z]+ has the reward in their chest\\!)$"); } @Override diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java index c331bd48..fb418c24 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java @@ -23,7 +23,7 @@ public class Trivia extends ChatPatternListener { private List solutions = Collections.emptyList(); public Trivia() { - super("^ +(?:([A-Za-z,' ]*\\?)|§6 ([ⓐⓑⓒ]) §a([a-zA-Z0-9 ]+))$"); + super("^ +(?:([A-Za-z,' ]*\\?)| ([ⓐⓑⓒ]) ([a-zA-Z0-9 ]+))$"); } @Override diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java index 27cd62ad..2ddaf6b5 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java @@ -18,7 +18,7 @@ public class Fetchur extends ChatPatternListener { private static final Map answers; public Fetchur() { - super("^§e\\[NPC] Fetchur§f: (?:its|theyre) ([a-zA-Z, \\-]*)$"); + super("^\\[NPC] Fetchur: (?:its|theyre) ([a-zA-Z, \\-]*)$"); } @Override diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java index fae845b5..1f5c0c90 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java @@ -13,7 +13,7 @@ import java.util.regex.Matcher; public class Puzzler extends ChatPatternListener { public Puzzler() { - super("^§e\\[NPC] §dPuzzler§f: ((?:§d▲|§5▶|§b◀|§a▼){10})$"); + super("^\\[NPC] Puzzler: ((?:▲|▶|◀|▼){10})$"); } @Override diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdosTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdosTest.java index 22683698..38e795c3 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdosTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdosTest.java @@ -10,10 +10,10 @@ class ThreeWeirdosTest extends ChatPatternListenerTest { @Test void test1() { - assertGroup("§e[NPC] §cBaxter§f: My chest doesn't have the reward. We are all telling the truth.", 1, "Baxter"); + assertGroup("[NPC] Baxter: My chest doesn't have the reward. We are all telling the truth.", 1, "Baxter"); } @Test void test2() { - assertGroup("§e[NPC] §cHope§f: The reward isn't in any of our chests.", 1, "Hope"); + assertGroup("[NPC] Hope: The reward isn't in any of our chests.", 1, "Hope"); } } \ No newline at end of file diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TriviaTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TriviaTest.java index 55a59a68..52a7ad8c 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TriviaTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TriviaTest.java @@ -20,14 +20,14 @@ class TriviaTest extends ChatPatternListenerTest { @Test void answer1() { - assertGroup(" §6 ⓐ §aAnswer 1", 3, "Answer 1"); + assertGroup(" ⓐ Answer 1", 3, "Answer 1"); } @Test void answer2() { - assertGroup(" §6 ⓑ §aAnswer 2", 3, "Answer 2"); + assertGroup(" ⓑ Answer 2", 3, "Answer 2"); } @Test void answer3() { - assertGroup(" §6 ⓒ §aAnswer 3", 3, "Answer 3"); + assertGroup(" ⓒ Answer 3", 3, "Answer 3"); } } \ No newline at end of file diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java index 08282972..12a194ee 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java @@ -10,6 +10,6 @@ class FetchurTest extends ChatPatternListenerTest { @Test public void patternCaptures() { - assertGroup("§e[NPC] Fetchur§f: its a hint", 1, "a hint"); + assertGroup("[NPC] Fetchur: its a hint", 1, "a hint"); } } diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java index 9437a5c9..c32010cf 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java @@ -10,6 +10,6 @@ class PuzzlerTest extends ChatPatternListenerTest { @Test void puzzler() { - assertGroup("§e[NPC] §dPuzzler§f: §b◀§d▲§b◀§d▲§d▲§5▶§5▶§b◀§d▲§a▼", 1, "§b◀§d▲§b◀§d▲§d▲§5▶§5▶§b◀§d▲§a▼"); + assertGroup("[NPC] Puzzler: ◀▲◀▲▲▶▶◀▲▼", 1, "◀▲◀▲▲▶▶◀▲▼"); } } \ No newline at end of file -- cgit