From da9b635382694f996a3ff695aec48a57d0b04c25 Mon Sep 17 00:00:00 2001 From: Julienraptor01 Date: Sun, 9 Apr 2023 01:02:53 +0200 Subject: Hungry Hiker solver --- .../skyblocker/skyblock/barn/HungryHiker.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java new file mode 100644 index 00000000..0ff487bf --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java @@ -0,0 +1,47 @@ +package me.xmrvizzy.skyblocker.skyblock.barn; + +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; + +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; + +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, '\\-]*\\.)$"); } + + @Override + public ChatFilterResult state() { + return SkyblockerConfig.get().locations.barn.solveHungryHiker ? ChatFilterResult.FILTER : ChatFilterResult.PASS; + } + + @Override + public boolean onMatch(Text message, Matcher matcher) { + MinecraftClient client = MinecraftClient.getInstance(); + if (client.player == null) return false; + String foodDescription = matcher.group(3); + String food = foods.get(foodDescription); + if (food == null) return false; + String middlePartOfTheMessageToSend = matcher.group(2) != null ? matcher.group(2) : matcher.group(1); + client.player.sendMessage(Text.of("§e[NPC] Hungry Hiker§f: " + middlePartOfTheMessageToSend + " " + food), false); + return true; + } + + static { + foods = new HashMap<>(); + foods.put("from a cow.", Text.translatable("item.minecraft.cooked_beef").getString()); + foods.put("from a fowl.", Text.translatable("item.minecraft.cooked_chicken").getString()); + foods.put("red on the inside, green on the outside.", Text.translatable("item.minecraft.melon_slice").getString()); + foods.put("a cooked potato.", Text.translatable("item.minecraft.baked_potato").getString()); + foods.put("a stew.", Text.translatable("item.minecraft.rabbit_stew").getString()); + foods.put("a grilled meat.", Text.translatable("item.minecraft.cooked_porkchop").getString()); + foods.put("red and crunchy.", Text.translatable("item.minecraft.apple").getString()); + foods.put("made of wheat.", Text.translatable("item.minecraft.bread").getString()); + } +} -- cgit From 978359c800d5b98b28e6c987a43074bcfc10a4cf Mon Sep 17 00:00:00 2001 From: Julienraptor01 Date: Mon, 17 Apr 2023 18:37:34 +0200 Subject: fix Official wiki being wrong again no FR i'm gonna get angry at some point, there are so many errors in it... --- src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java index 0ff487bf..e1ee7756 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java @@ -36,7 +36,7 @@ public class HungryHiker extends ChatPatternListener { static { foods = new HashMap<>(); foods.put("from a cow.", Text.translatable("item.minecraft.cooked_beef").getString()); - foods.put("from a fowl.", Text.translatable("item.minecraft.cooked_chicken").getString()); + foods.put("meat from a fowl.", Text.translatable("item.minecraft.cooked_chicken").getString()); foods.put("red on the inside, green on the outside.", Text.translatable("item.minecraft.melon_slice").getString()); foods.put("a cooked potato.", Text.translatable("item.minecraft.baked_potato").getString()); foods.put("a stew.", Text.translatable("item.minecraft.rabbit_stew").getString()); -- cgit From fb2e183e0bbcd9f519b740235cf90182cc33e84b Mon Sep 17 00:00:00 2001 From: Julienraptor01 Date: Wed, 19 Apr 2023 23:44:20 +0200 Subject: fix missing dots at end of sentences --- src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java | 2 +- src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java index e1ee7756..b0f0445a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java @@ -29,7 +29,7 @@ public class HungryHiker extends ChatPatternListener { String food = foods.get(foodDescription); if (food == null) return false; String middlePartOfTheMessageToSend = matcher.group(2) != null ? matcher.group(2) : matcher.group(1); - client.player.sendMessage(Text.of("§e[NPC] Hungry Hiker§f: " + middlePartOfTheMessageToSend + " " + food), false); + client.player.sendMessage(Text.of("§e[NPC] Hungry Hiker§f: " + middlePartOfTheMessageToSend + " " + food + "."), false); return true; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java index 895354c2..ad5db522 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java @@ -28,7 +28,7 @@ public class TreasureHunter extends ChatPatternListener { String hint = matcher.group(1); String location = locations.get(hint); if (location == null) return false; - client.player.sendMessage(Text.of("§e[NPC] Treasure Hunter§f: Go mine around " + location), false); + client.player.sendMessage(Text.of("§e[NPC] Treasure Hunter§f: Go mine around " + location + "."), false); return true; } -- cgit