aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
index f028e3e7..84cd4803 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java
@@ -4,6 +4,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.Utils;
+import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
import net.fabricmc.fabric.api.event.player.UseItemCallback;
@@ -87,9 +88,21 @@ public class WishingCompassSolver {
public static void init() {
UseItemCallback.EVENT.register(WishingCompassSolver::onItemInteract);
UseBlockCallback.EVENT.register(WishingCompassSolver::onBlockInteract);
+ ClientReceiveMessageEvents.GAME.register(WishingCompassSolver::failMessageListener);
ClientPlayConnectionEvents.JOIN.register((_handler, _sender, _client) -> reset());
}
+ /**
+ * When a filed message is sent in chat reset the wishing compass solver to start
+ * @param text message
+ * @param b overlay
+ */
+ private static void failMessageListener(Text text, boolean b) {
+ if (Formatting.strip(text.getString()).equals("The Wishing Compass can't seem to locate anything!")) {
+ currentState = SolverStates.NOT_STARTED;
+ }
+ }
+
private static void reset() {
currentState = SolverStates.NOT_STARTED;
startPosOne = Vec3d.ZERO;