diff --git a/src/main/java/baritone/behavior/ElytraBehavior.java b/src/main/java/baritone/behavior/ElytraBehavior.java index fb8747bb2..9ff48f3a2 100644 --- a/src/main/java/baritone/behavior/ElytraBehavior.java +++ b/src/main/java/baritone/behavior/ElytraBehavior.java @@ -1208,6 +1208,10 @@ public final class ElytraBehavior extends Behavior implements IElytraBehavior, H } } + public boolean isSafeToCancel() { + return !this.isActive() || !(this.process.state == State.FLYING || this.process.state == State.START_FLYING); + } + private final class ElytraProcess implements IBaritoneProcess { private State state; diff --git a/src/main/java/baritone/behavior/PathingBehavior.java b/src/main/java/baritone/behavior/PathingBehavior.java index 9b1bd9187..19266b2c2 100644 --- a/src/main/java/baritone/behavior/PathingBehavior.java +++ b/src/main/java/baritone/behavior/PathingBehavior.java @@ -148,6 +148,9 @@ public final class PathingBehavior extends Behavior implements IPathingBehavior, } } if (current == null) { + if (baritone.getElytraBehavior().isActive()) { + safeToCancel = baritone.getElytraBehavior().isSafeToCancel(); + } return; } safeToCancel = current.onTick();