diff --git a/src/main/java/baritone/Baritone.java b/src/main/java/baritone/Baritone.java index 6199d03f5..457b49a45 100755 --- a/src/main/java/baritone/Baritone.java +++ b/src/main/java/baritone/Baritone.java @@ -64,7 +64,7 @@ public class Baritone implements IBaritone { private final GameEventHandler gameEventHandler; private final PathingBehavior pathingBehavior; - public final Elytra elytra; + private final ElytraBehavior elytraBehavior; private final LookBehavior lookBehavior; private final InventoryBehavior inventoryBehavior; private final InputOverrideHandler inputOverrideHandler; @@ -103,7 +103,7 @@ public class Baritone implements IBaritone { { this.pathingBehavior = this.registerBehavior(PathingBehavior::new); - this.elytra = this.registerBehavior(Elytra::new); + this.elytraBehavior = this.registerBehavior(ElytraBehavior::new); this.lookBehavior = this.registerBehavior(LookBehavior::new); this.inventoryBehavior = this.registerBehavior(InventoryBehavior::new); this.inputOverrideHandler = this.registerBehavior(InputOverrideHandler::new); @@ -232,6 +232,10 @@ public class Baritone implements IBaritone { return this.commandManager; } + public ElytraBehavior getElytraBehavior() { + return this.elytraBehavior; + } + @Override public void openClick() { new Thread(() -> { diff --git a/src/main/java/baritone/Elytra.java b/src/main/java/baritone/behavior/ElytraBehavior.java similarity index 99% rename from src/main/java/baritone/Elytra.java rename to src/main/java/baritone/behavior/ElytraBehavior.java index 57f0f7cf4..473fd7f8b 100644 --- a/src/main/java/baritone/Elytra.java +++ b/src/main/java/baritone/behavior/ElytraBehavior.java @@ -15,8 +15,9 @@ * along with Baritone. If not, see . */ -package baritone; +package baritone.behavior; +import baritone.Baritone; import baritone.api.event.events.ChunkEvent; import baritone.api.event.events.TickEvent; import baritone.api.event.events.type.EventState; @@ -24,7 +25,6 @@ import baritone.api.utils.BetterBlockPos; import baritone.api.utils.Helper; import baritone.api.utils.Rotation; import baritone.api.utils.RotationUtils; -import baritone.behavior.Behavior; import baritone.utils.BlockStateInterface; import com.mojang.realmsclient.util.Pair; import dev.babbaj.pathfinder.NetherPathfinder; @@ -48,7 +48,7 @@ import java.util.concurrent.*; import java.util.stream.Collectors; import java.util.stream.Stream; -public class Elytra extends Behavior implements Helper { +public final class ElytraBehavior extends Behavior implements Helper { private static final long NETHER_SEED = 146008555100680L; @@ -64,7 +64,7 @@ public class Elytra extends Behavior implements Helper { private int goingTo; private int sinceFirework; - protected Elytra(Baritone baritone) { + public ElytraBehavior(Baritone baritone) { super(baritone); this.context = new Context(NETHER_SEED); this.lines = new ArrayList<>(); diff --git a/src/main/java/baritone/command/defaults/ElytraCommand.java b/src/main/java/baritone/command/defaults/ElytraCommand.java index 2d2e3f0ee..47db0e33e 100644 --- a/src/main/java/baritone/command/defaults/ElytraCommand.java +++ b/src/main/java/baritone/command/defaults/ElytraCommand.java @@ -41,7 +41,7 @@ public class ElytraCommand extends Command { ICustomGoalProcess customGoalProcess = baritone.getCustomGoalProcess(); args.requireMax(0); GoalXZ goal = (GoalXZ) customGoalProcess.getGoal(); - ((Baritone) baritone).elytra.path(new BlockPos(goal.getX(), 64, goal.getZ())); + ((Baritone) baritone).getElytraBehavior().path(new BlockPos(goal.getX(), 64, goal.getZ())); } @Override diff --git a/src/main/java/baritone/command/defaults/ExecutionControlCommands.java b/src/main/java/baritone/command/defaults/ExecutionControlCommands.java index 66b2d156d..ef566bb8d 100644 --- a/src/main/java/baritone/command/defaults/ExecutionControlCommands.java +++ b/src/main/java/baritone/command/defaults/ExecutionControlCommands.java @@ -181,7 +181,7 @@ public class ExecutionControlCommands { paused[0] = false; } baritone.getPathingBehavior().cancelEverything(); - ((Baritone) baritone).elytra.cancel(); + ((Baritone) baritone).getElytraBehavior().cancel(); logDirect("ok canceled"); } diff --git a/src/main/java/baritone/command/defaults/ForceCancelCommand.java b/src/main/java/baritone/command/defaults/ForceCancelCommand.java index 3a54ce69e..60ccdab01 100644 --- a/src/main/java/baritone/command/defaults/ForceCancelCommand.java +++ b/src/main/java/baritone/command/defaults/ForceCancelCommand.java @@ -40,7 +40,7 @@ public class ForceCancelCommand extends Command { IPathingBehavior pathingBehavior = baritone.getPathingBehavior(); pathingBehavior.cancelEverything(); pathingBehavior.forceCancel(); - ((Baritone) baritone).elytra.cancel(); + ((Baritone) baritone).getElytraBehavior().cancel(); logDirect("ok force canceled"); } diff --git a/src/main/java/baritone/utils/PathRenderer.java b/src/main/java/baritone/utils/PathRenderer.java index 491d7906e..fa8925042 100644 --- a/src/main/java/baritone/utils/PathRenderer.java +++ b/src/main/java/baritone/utils/PathRenderer.java @@ -24,6 +24,7 @@ import baritone.api.pathing.goals.*; import baritone.api.utils.BetterBlockPos; import baritone.api.utils.IPlayerContext; import baritone.api.utils.interfaces.IGoalRenderPos; +import baritone.behavior.ElytraBehavior; import baritone.behavior.PathingBehavior; import baritone.pathing.path.PathExecutor; import com.mojang.realmsclient.util.Pair; @@ -101,15 +102,17 @@ public final class PathRenderer implements IRenderer { drawPath(next.getPath().positions(), 0, settings.colorNextPath.value, settings.fadePath.value, 10, 20); } - drawPath(behavior.baritone.elytra.visiblePath, 0, Color.RED, false, 0, 0); - if (behavior.baritone.elytra.aimPos != null) { - drawGoal(ctx.player(), new GoalBlock(behavior.baritone.elytra.aimPos), partialTicks, Color.GREEN); + final ElytraBehavior elytra = behavior.baritone.getElytraBehavior(); + + drawPath(elytra.visiblePath, 0, Color.RED, false, 0, 0); + if (elytra.aimPos != null) { + drawGoal(ctx.player(), new GoalBlock(elytra.aimPos), partialTicks, Color.GREEN); } - if (!behavior.baritone.elytra.lines.isEmpty() && Baritone.settings().renderRaytraces.value) { + if (!elytra.lines.isEmpty() && Baritone.settings().renderRaytraces.value) { IRenderer.startLines(Color.BLUE, settings.pathRenderLineWidthPixels.value, settings.renderPathIgnoreDepth.value); boolean orig = settings.renderPathAsLine.value; settings.renderPathAsLine.value = true; - for (Pair line : behavior.baritone.elytra.lines) { + for (Pair line : elytra.lines) { emitLine(line.first().x, line.first().y, line.first().z, line.second().x, line.second().y, line.second().z); } settings.renderPathAsLine.value = orig;