diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index ed31e4160..ba4b4c52a 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -793,7 +793,7 @@ public final class Settings { public final Setting allowOnlyExposedOresDistance = new Setting<>(1); /** - * When GetToBlock doesn't know any locations for the desired block, explore randomly instead of giving up. + * When GetToBlock or non-legit Mine doesn't know any locations for the desired block, explore randomly instead of giving up. */ public final Setting exploreForBlocks = new Setting<>(true); @@ -986,6 +986,7 @@ public final class Settings { * 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 * couldn't. If you don't want it to look like you're X-Raying, turn this on + * This will always explore, regardless of exploreForBlocks */ public final Setting legitMine = new Setting<>(false); diff --git a/src/main/java/baritone/process/MineProcess.java b/src/main/java/baritone/process/MineProcess.java index 6d938e9d2..1ec47cd92 100644 --- a/src/main/java/baritone/process/MineProcess.java +++ b/src/main/java/baritone/process/MineProcess.java @@ -187,10 +187,10 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro return new PathingCommand(goal, legit ? PathingCommandType.FORCE_REVALIDATE_GOAL_AND_PATH : PathingCommandType.REVALIDATE_GOAL_AND_PATH); } // we don't know any ore locations at the moment - if (!legit) { + if (!legit && !Baritone.settings().exploreForBlocks.value) { return null; } - // only in non-Xray mode (aka legit mode) do we do this + // only when we should explore for blocks or are in legit mode we do this int y = Baritone.settings().legitMineYLevel.value; if (branchPoint == null) { /*if (!baritone.getPathingBehavior().isPathing() && playerFeet().y == y) { @@ -229,7 +229,7 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro List dropped = droppedItemsScan(); List locs = searchWorld(context, filter, ORE_LOCATIONS_COUNT, already, blacklist, dropped); locs.addAll(dropped); - if (locs.isEmpty()) { + if (locs.isEmpty() && !Baritone.settings().exploreForBlocks.value) { logDirect("No locations for " + filter + " known, cancelling"); if (Baritone.settings().notificationOnMineFail.value) { logNotification("No locations for " + filter + " known, cancelling", true);