From 462ccad885941235b65fbbdbb323b782630276ce Mon Sep 17 00:00:00 2001 From: Leijurv Date: Sun, 2 Sep 2018 10:43:34 -0700 Subject: [PATCH] use initial estimate from calculation phase --- .../baritone/pathing/path/PathExecutor.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/baritone/pathing/path/PathExecutor.java b/src/main/java/baritone/pathing/path/PathExecutor.java index dcecaeda..ce86b4d0 100644 --- a/src/main/java/baritone/pathing/path/PathExecutor.java +++ b/src/main/java/baritone/pathing/path/PathExecutor.java @@ -217,17 +217,9 @@ public class PathExecutor implements Helper { //displayChatMessageRaw("Recalculating break and place took " + (end - start) + "ms"); } Movement movement = path.movements().get(pathPosition); - double currentCost = movement.recalculateCost(); - if (currentCost >= ActionCosts.COST_INF) { - displayChatMessageRaw("Something has changed in the world and this movement has become impossible. Cancelling."); - pathPosition = path.length() + 3; - failed = true; - Baritone.INSTANCE.getInputOverrideHandler().clearAllKeys(); - return true; - } if (costEstimateIndex == null || costEstimateIndex != pathPosition) { costEstimateIndex = pathPosition; - currentMovementInitialCostEstimate = currentCost; // do this only once, when the movement starts + currentMovementInitialCostEstimate = movement.getCost(null); // do this only once, when the movement starts for (int i = 1; i < Baritone.settings().costVerificationLookahead.get() && pathPosition + i < path.length() - 1; i++) { if (path.movements().get(pathPosition + i).recalculateCost() >= ActionCosts.COST_INF) { displayChatMessageRaw("Something has changed in the world and a future movement has become impossible. Cancelling."); @@ -238,6 +230,14 @@ public class PathExecutor implements Helper { } } } + double currentCost = movement.recalculateCost(); + if (currentCost >= ActionCosts.COST_INF) { + displayChatMessageRaw("Something has changed in the world and this movement has become impossible. Cancelling."); + pathPosition = path.length() + 3; + failed = true; + Baritone.INSTANCE.getInputOverrideHandler().clearAllKeys(); + return true; + } MovementState.MovementStatus movementStatus = movement.update(); if (movementStatus == UNREACHABLE || movementStatus == FAILED) { displayChatMessageRaw("Movement returns status " + movementStatus);