aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java17
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java16
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++;