diff options
author | Yasin <LifeIsAParadox@users.noreply.github.com> | 2022-03-08 17:10:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-08 17:10:30 +0100 |
commit | b380c52524bbdb7ea01fe42d5bab95f22e39a5a1 (patch) | |
tree | 7df6b3272758f6fa559ba37116093f0dd8f66966 /src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven | |
parent | 165d2a190cf82b90bc47cf7a3875a094fab9b81a (diff) | |
parent | 3221f7cd30b0b12d697dec0d52b6040e2278e305 (diff) | |
download | Skyblocker-b380c52524bbdb7ea01fe42d5bab95f22e39a5a1.tar.gz Skyblocker-b380c52524bbdb7ea01fe42d5bab95f22e39a5a1.tar.bz2 Skyblocker-b380c52524bbdb7ea01fe42d5bab95f22e39a5a1.zip |
Merge pull request #53 from ExternalTime/chat-events-rewrite
Rewrote chat listener interface to use fabric events api
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java | 17 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java | 16 |
2 files changed, 20 insertions, 13 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java index 266006b4..ce1dde11 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java @@ -1,6 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; -import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; +import me.xmrvizzy.skyblocker.chat.ChatPatternListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; @@ -8,24 +9,26 @@ import net.minecraft.text.TranslatableText; import java.util.HashMap; import java.util.Map; +import java.util.regex.Matcher; -public class Fetchur extends ChatListener { - private static Map<String, String> answers; +public class Fetchur extends ChatPatternListener { + private static final Map<String, String> answers; public Fetchur() { super("^§e\\[NPC] Fetchur§f: (?:its|theyre) ([a-zA-Z, \\-]*)$"); } @Override - public boolean isEnabled() { - return SkyblockerConfig.get().locations.dwarvenMines.solveFetchur; + public ChatFilterResult state() { + return SkyblockerConfig.get().locations.dwarvenMines.solveFetchur ? ChatFilterResult.FILTER : ChatFilterResult.PASS; } @Override - public boolean onMessage(String[] groups) { + public boolean onMatch(Text message, Matcher matcher) { MinecraftClient client = MinecraftClient.getInstance(); assert client.player != null; - String answer = answers.getOrDefault(groups[1], groups[1]); + String riddle = matcher.group(1); + String answer = answers.getOrDefault(riddle, riddle); client.player.sendMessage(Text.of("§e[NPC] Fetchur§f: " + answer), false); return true; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java index 3e117955..f61e007e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java @@ -1,27 +1,31 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; -import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; +import me.xmrvizzy.skyblocker.chat.ChatPatternListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.world.ClientWorld; +import net.minecraft.text.Text; import net.minecraft.util.math.BlockPos; -public class Puzzler extends ChatListener { +import java.util.regex.Matcher; + +public class Puzzler extends ChatPatternListener { public Puzzler() { super("^§e\\[NPC] §dPuzzler§f: ((?:§d▲|§5▶|§b◀|§a▼){10})$"); } @Override - public boolean isEnabled() { - return SkyblockerConfig.get().locations.dwarvenMines.solvePuzzler; + public ChatFilterResult state() { + return SkyblockerConfig.get().locations.dwarvenMines.solvePuzzler ? null : ChatFilterResult.PASS; } @Override - public boolean onMessage(String[] groups) { + public boolean onMatch(Text message, Matcher matcher) { int x = 181; int z = 135; - for (char c : groups[1].toCharArray()) { + for (char c : matcher.group(1).toCharArray()) { if (c == '▲') z++; else if (c == '▼') z--; else if (c == '◀') x++; |