From 4ec9a4fc5bdb3f47c29b1e19d996d8242675b041 Mon Sep 17 00:00:00 2001 From: Leijurv Date: Mon, 24 Sep 2018 09:57:06 -0700 Subject: [PATCH] really cancel, fixes #178 --- src/main/java/baritone/behavior/PathingBehavior.java | 6 +++++- .../java/baritone/pathing/calc/AbstractNodeCostSearch.java | 2 -- src/main/java/baritone/utils/ExampleBaritoneControl.java | 4 ++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/baritone/behavior/PathingBehavior.java b/src/main/java/baritone/behavior/PathingBehavior.java index 2ed2ffc55..9848bb6de 100644 --- a/src/main/java/baritone/behavior/PathingBehavior.java +++ b/src/main/java/baritone/behavior/PathingBehavior.java @@ -23,10 +23,10 @@ import baritone.api.event.events.PathEvent; import baritone.api.event.events.PlayerUpdateEvent; import baritone.api.event.events.RenderEvent; import baritone.api.event.events.TickEvent; +import baritone.api.pathing.goals.Goal; import baritone.pathing.calc.AStarPathFinder; import baritone.pathing.calc.AbstractNodeCostSearch; import baritone.pathing.calc.IPathFinder; -import baritone.api.pathing.goals.Goal; import baritone.pathing.goals.GoalXZ; import baritone.pathing.movement.MovementHelper; import baritone.pathing.path.IPath; @@ -220,6 +220,10 @@ public final class PathingBehavior extends Behavior implements IPathingBehavior, AbstractNodeCostSearch.getCurrentlyRunning().ifPresent(AbstractNodeCostSearch::cancel); } + public void forceCancel() { // NOT exposed on public api + isPathCalcInProgress = false; + } + /** * Start calculating a path if we aren't already * diff --git a/src/main/java/baritone/pathing/calc/AbstractNodeCostSearch.java b/src/main/java/baritone/pathing/calc/AbstractNodeCostSearch.java index f579f2360..21f6d8481 100644 --- a/src/main/java/baritone/pathing/calc/AbstractNodeCostSearch.java +++ b/src/main/java/baritone/pathing/calc/AbstractNodeCostSearch.java @@ -18,7 +18,6 @@ package baritone.pathing.calc; import baritone.api.pathing.goals.Goal; -import baritone.behavior.PathingBehavior; import baritone.pathing.path.IPath; import baritone.utils.pathing.BetterBlockPos; import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; @@ -159,7 +158,6 @@ public abstract class AbstractNodeCostSearch implements IPathFinder { } public static void forceCancel() { - PathingBehavior.INSTANCE.cancel(); currentlyRunning = null; } diff --git a/src/main/java/baritone/utils/ExampleBaritoneControl.java b/src/main/java/baritone/utils/ExampleBaritoneControl.java index 26881699c..0b5e03d19 100644 --- a/src/main/java/baritone/utils/ExampleBaritoneControl.java +++ b/src/main/java/baritone/utils/ExampleBaritoneControl.java @@ -206,7 +206,11 @@ public class ExampleBaritoneControl extends Behavior implements Helper { return; } if (msg.equals("forcecancel")) { + MineBehavior.INSTANCE.cancel(); + FollowBehavior.INSTANCE.cancel(); + PathingBehavior.INSTANCE.cancel(); AbstractNodeCostSearch.forceCancel(); + PathingBehavior.INSTANCE.forceCancel(); event.cancel(); logDirect("ok force canceled"); return;