diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-12-13 18:37:31 -0500 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-12-13 18:37:31 -0500 |
commit | 1801371030cc30c93c9efba67125bbf2f45f796a (patch) | |
tree | 4d77f7cc82297122ab780f4b24d3111c8c9b0e54 /src/main/java/de/hysky/skyblocker/skyblock | |
parent | d701a2f8721234b73d4f9d1c5ac877bc37cc1926 (diff) | |
download | Skyblocker-1801371030cc30c93c9efba67125bbf2f45f796a.tar.gz Skyblocker-1801371030cc30c93c9efba67125bbf2f45f796a.tar.bz2 Skyblocker-1801371030cc30c93c9efba67125bbf2f45f796a.zip |
Reset burrows on world change
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java index ad58c868..7849aff7 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java @@ -9,6 +9,7 @@ import de.hysky.skyblocker.utils.render.RenderHelper; import de.hysky.skyblocker.utils.waypoint.Waypoint; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; import net.fabricmc.fabric.api.event.player.AttackBlockCallback; @@ -58,9 +59,10 @@ public class MythologicalRitual { UseBlockCallback.EVENT.register(MythologicalRitual::onUseBlock); UseItemCallback.EVENT.register(MythologicalRitual::onUseItem); ClientReceiveMessageEvents.GAME.register(MythologicalRitual::onChatMessage); + ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> reset()); ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(literal(SkyblockerMod.NAMESPACE).then(literal("diana") .then(literal("clearGriffinBurrows").executes(context -> { - griffinBurrows.clear(); + reset(); return Command.SINGLE_SUCCESS; })) .then(literal("clearGriffinBurrow") @@ -189,6 +191,16 @@ public class MythologicalRitual { private static boolean isActive() { return SkyblockerConfigManager.get().general.mythologicalRitual.enableMythologicalRitualHelper && Utils.getLocationRaw().equals("hub"); } + + private static void reset() { + griffinBurrows.clear(); + lastDugBurrowPos = null; + previousBurrow = new GriffinBurrow(BlockPos.ORIGIN); + + // Put a root burrow so echo detection works without a previous burrow + previousBurrow.confirmed = TriState.DEFAULT; + griffinBurrows.put(BlockPos.ORIGIN, previousBurrow); + } private static class GriffinBurrow extends Waypoint { private int critParticle; |