diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index b9a45960a..99fe52412 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -570,6 +570,11 @@ public final class Settings { */ public final Setting axisHeight = new Setting<>(120); + /** + * Disconnect from the server upon arriving at your goal + */ + public final Setting disconnectOnArrival = new Setting<>(false); + /** * Disallow MineBehavior from using X-Ray to see where the ores are. Turn this option on to force it to mine "legit" * where it will only mine an ore once it can actually see it, so it won't do or know anything that a normal player diff --git a/src/main/java/baritone/behavior/PathingBehavior.java b/src/main/java/baritone/behavior/PathingBehavior.java index a7c5c34bf..915e50663 100644 --- a/src/main/java/baritone/behavior/PathingBehavior.java +++ b/src/main/java/baritone/behavior/PathingBehavior.java @@ -141,6 +141,9 @@ public final class PathingBehavior extends Behavior implements IPathingBehavior, logDebug("All done. At " + goal); queuePathEvent(PathEvent.AT_GOAL); next = null; + if (Baritone.settings().disconnectOnArrival.value) { + ctx.world().sendQuittingDisconnectingPacket(); + } return; } if (next != null && !next.getPath().positions().contains(ctx.playerFeet()) && !next.getPath().positions().contains(expectedSegmentStart)) { // can contain either one