From 4b5d629df6097a8b0735314f48fd57f61c939c9c Mon Sep 17 00:00:00 2001 From: Babbaj Date: Mon, 17 Jul 2023 17:21:06 -0400 Subject: [PATCH] fix off by one error (causing the last point to be stuck in terrain) --- build.gradle | 4 ++-- .../java/baritone/process/elytra/LegacyElytraBehavior.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index e44d68e04..04017277c 100755 --- a/build.gradle +++ b/build.gradle @@ -175,8 +175,8 @@ dependencies { transitive = false } launchAnnotationProcessor 'org.spongepowered:mixin:0.8.4-SNAPSHOT:processor' - launchImplementation('dev.babbaj:nether-pathfinder:0.34') - implementation 'dev.babbaj:nether-pathfinder:0.34' + launchImplementation('dev.babbaj:nether-pathfinder:0.39') + implementation 'dev.babbaj:nether-pathfinder:0.39' testImplementation 'junit:junit:4.12' } diff --git a/src/main/java/baritone/process/elytra/LegacyElytraBehavior.java b/src/main/java/baritone/process/elytra/LegacyElytraBehavior.java index 6553f1ef8..f537f93bc 100644 --- a/src/main/java/baritone/process/elytra/LegacyElytraBehavior.java +++ b/src/main/java/baritone/process/elytra/LegacyElytraBehavior.java @@ -195,7 +195,7 @@ public final class LegacyElytraBehavior implements Helper { } this.recalculating = true; - final List after = this.path.subList(upToIncl, this.path.size()); + final List after = this.path.subList(upToIncl + 1, this.path.size()); final boolean complete = this.completePath; return this.path0(ctx.playerFeet(), this.path.get(upToIncl), segment -> segment.append(after.stream(), complete)) @@ -288,6 +288,7 @@ public final class LegacyElytraBehavior implements Helper { while (rangeEndExcl < path.size() && ctx.world().isBlockLoaded(path.get(rangeEndExcl), false)) { rangeEndExcl++; } + // rangeEndExcl now represents an index either not in the path, or just outside render distance if (rangeStartIncl >= rangeEndExcl) { // not loaded yet? return;