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;