From 5d4408dbfec8071bddbc7f6d321b12f98b0102c0 Mon Sep 17 00:00:00 2001 From: rfresh2 <89827146+rfresh2@users.noreply.github.com> Date: Tue, 13 May 2025 14:38:06 -0700 Subject: [PATCH] elytra path accessor api --- src/api/java/baritone/api/process/IElytraProcess.java | 8 ++++++++ src/main/java/baritone/process/ElytraProcess.java | 5 +++++ .../java/baritone/process/elytra/NullElytraProcess.java | 9 +++++++++ 3 files changed, 22 insertions(+) diff --git a/src/api/java/baritone/api/process/IElytraProcess.java b/src/api/java/baritone/api/process/IElytraProcess.java index 28328f901..ce03e8d62 100644 --- a/src/api/java/baritone/api/process/IElytraProcess.java +++ b/src/api/java/baritone/api/process/IElytraProcess.java @@ -18,8 +18,11 @@ package baritone.api.process; import baritone.api.pathing.goals.Goal; +import baritone.api.utils.BetterBlockPos; import net.minecraft.core.BlockPos; +import java.util.List; + public interface IElytraProcess extends IBaritoneProcess { void repackChunks(); @@ -29,6 +32,11 @@ public interface IElytraProcess extends IBaritoneProcess { */ BlockPos currentDestination(); + /** + * @return Current active path, empty if not active or no path has been calculated yet + */ + List getPath(); + void pathTo(BlockPos destination); void pathTo(Goal destination); diff --git a/src/main/java/baritone/process/ElytraProcess.java b/src/main/java/baritone/process/ElytraProcess.java index e6d7ee34a..276ab431b 100644 --- a/src/main/java/baritone/process/ElytraProcess.java +++ b/src/main/java/baritone/process/ElytraProcess.java @@ -316,6 +316,11 @@ public BlockPos currentDestination() { return this.behavior != null ? this.behavior.destination : null; } + @Override + public List getPath() { + return this.behavior != null ? behavior.pathManager.getPath() : Collections.emptyList(); + } + @Override public void pathTo(BlockPos destination) { this.pathTo0(destination, false); diff --git a/src/main/java/baritone/process/elytra/NullElytraProcess.java b/src/main/java/baritone/process/elytra/NullElytraProcess.java index 07d5fde0e..ed5be935d 100644 --- a/src/main/java/baritone/process/elytra/NullElytraProcess.java +++ b/src/main/java/baritone/process/elytra/NullElytraProcess.java @@ -21,9 +21,13 @@ import baritone.api.pathing.goals.Goal; import baritone.api.process.IElytraProcess; import baritone.api.process.PathingCommand; +import baritone.api.utils.BetterBlockPos; import baritone.utils.BaritoneProcessHelper; import net.minecraft.core.BlockPos; +import java.util.Collections; +import java.util.List; + /** * @author Brady */ @@ -43,6 +47,11 @@ public BlockPos currentDestination() { return null; } + @Override + public List getPath() { + return Collections.emptyList(); + } + @Override public void pathTo(BlockPos destination) { throw new UnsupportedOperationException("Called pathTo() on NullElytraBehavior");