From 4b1388acc6f66dd63a0a44139cde2ac106739534 Mon Sep 17 00:00:00 2001 From: Fluboxer Date: Thu, 10 Apr 2025 01:46:53 +0300 Subject: [PATCH 1/2] initial commit --- .../skyblock/barn/TreasureHunter.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 3b41af31aa..b0a6c59535 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java @@ -1,10 +1,16 @@ package de.hysky.skyblocker.skyblock.barn; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.Constants; import de.hysky.skyblocker.utils.chat.ChatFilterResult; import de.hysky.skyblocker.utils.chat.ChatPatternListener; import net.minecraft.client.MinecraftClient; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.HoverEvent; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; +import net.minecraft.util.Formatting; +import org.jetbrains.annotations.NotNull; import java.util.HashMap; import java.util.Map; @@ -29,9 +35,21 @@ public boolean onMatch(Text message, Matcher matcher) { 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); + requestWaypoint(location); return true; } + private static void requestWaypoint(String location) { + String command = "/skyblocker waypoints individual " + location; + MutableText requestMessage = Constants.PREFIX.get().append(Text.translatable("skyblocker.config.chat.waypoints.display").formatted(Formatting.AQUA) + .styled(style -> style + .withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Text.translatable("skyblocker.config.chat.waypoints.display"))) + .withClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, command.trim())) + ) + ); + MinecraftClient.getInstance().player.sendMessage(requestMessage, false); + } + static { locations = new HashMap<>(); locations.put("There's a treasure chest somewhere in a small cave in the gorge.", "258 70 -492"); From 10c9e9108b88a6363f5c2998b454f8efd101ad48 Mon Sep 17 00:00:00 2001 From: Fluboxer Date: Thu, 10 Apr 2025 03:00:46 +0300 Subject: [PATCH 2/2] made waypoint actually say "Treasure" instead of "Chat Waypoint" --- .../de/hysky/skyblocker/skyblock/barn/TreasureHunter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 b0a6c59535..ba3cc6203d 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java @@ -34,13 +34,13 @@ public boolean onMatch(Text message, Matcher matcher) { 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); requestWaypoint(location); return true; } private static void requestWaypoint(String location) { - String command = "/skyblocker waypoints individual " + location; + String command = "/skyblocker waypoints individual " + location + " Treasure"; MutableText requestMessage = Constants.PREFIX.get().append(Text.translatable("skyblocker.config.chat.waypoints.display").formatted(Formatting.AQUA) .styled(style -> style .withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Text.translatable("skyblocker.config.chat.waypoints.display")))