From 4dc4795cb703b3d6ebd2d1d6c06243efbeff7a5f Mon Sep 17 00:00:00 2001 From: wagyourtail Date: Fri, 15 Oct 2021 00:00:48 -0600 Subject: [PATCH 1/6] AvoidBreak means never. --- src/api/java/baritone/api/Settings.java | 5 +++++ src/main/java/baritone/utils/ToolSet.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 2d9ad3fb3..c8dc1b9e2 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -200,6 +200,11 @@ public final class Settings { Blocks.WALL_SIGN ))); + /** + * make {@link #blocksToAvoidBreaking} mean the block is never broken instead of just strongly discouraging it. + */ + public final Setting avoidBreakingMeansNever = new Setting(false); + /** * A list of blocks to be treated as if they're air. *

diff --git a/src/main/java/baritone/utils/ToolSet.java b/src/main/java/baritone/utils/ToolSet.java index e5e96e341..31046a875 100644 --- a/src/main/java/baritone/utils/ToolSet.java +++ b/src/main/java/baritone/utils/ToolSet.java @@ -165,7 +165,7 @@ public class ToolSet { } private double avoidanceMultiplier(Block b) { - return Baritone.settings().blocksToAvoidBreaking.value.contains(b) ? 0.1 : 1; + return Baritone.settings().blocksToAvoidBreaking.value.contains(b) ? Baritone.settings().avoidBreakingMeansNever.value ? 0 : 0.1 : 1; } /** From 1ca736692d889bf3ed2fbdd8225b84995724b824 Mon Sep 17 00:00:00 2001 From: wagyourtail Date: Fri, 15 Oct 2021 17:58:13 -0600 Subject: [PATCH 2/6] more closely match the existing docs and add discourageBreaking --- src/api/java/baritone/api/Settings.java | 11 +++++++++-- .../baritone/pathing/movement/MovementHelper.java | 3 ++- src/main/java/baritone/utils/ToolSet.java | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index c8dc1b9e2..7ca050cea 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -201,9 +201,16 @@ public final class Settings { ))); /** - * make {@link #blocksToAvoidBreaking} mean the block is never broken instead of just strongly discouraging it. + * blocks that baritone shouldn't break, but can if it needs to. */ - public final Setting avoidBreakingMeansNever = new Setting(false); + public final Setting> blocksToDiscourageBreaking = new Setting<>(new ArrayList<>(Arrays.asList( + + ))); + + /** + * this multiplies the break speed, if set above 1 it's "encourage breaking" instead + */ + public final Setting discourageBreakingMultiplier = new Setting<>(.1); /** * A list of blocks to be treated as if they're air. diff --git a/src/main/java/baritone/pathing/movement/MovementHelper.java b/src/main/java/baritone/pathing/movement/MovementHelper.java index 69e846a2c..64528ddd6 100644 --- a/src/main/java/baritone/pathing/movement/MovementHelper.java +++ b/src/main/java/baritone/pathing/movement/MovementHelper.java @@ -50,7 +50,8 @@ public interface MovementHelper extends ActionCosts, Helper { static boolean avoidBreaking(BlockStateInterface bsi, int x, int y, int z, IBlockState state) { Block b = state.getBlock(); - return b == Blocks.ICE // ice becomes water, and water can mess up the path + return Baritone.settings().blocksToAvoidBreaking.value.contains(b) + || b == Blocks.ICE // ice becomes water, and water can mess up the path || b instanceof BlockSilverfish // obvious reasons // call context.get directly with x,y,z. no need to make 5 new BlockPos for no reason || avoidAdjacentBreaking(bsi, x, y + 1, z, true) diff --git a/src/main/java/baritone/utils/ToolSet.java b/src/main/java/baritone/utils/ToolSet.java index 31046a875..d99adbb3f 100644 --- a/src/main/java/baritone/utils/ToolSet.java +++ b/src/main/java/baritone/utils/ToolSet.java @@ -165,7 +165,7 @@ public class ToolSet { } private double avoidanceMultiplier(Block b) { - return Baritone.settings().blocksToAvoidBreaking.value.contains(b) ? Baritone.settings().avoidBreakingMeansNever.value ? 0 : 0.1 : 1; + return Baritone.settings().blocksToDiscourageBreaking.value.contains(b) ? Baritone.settings().discourageBreakingMultiplier.value : 1; } /** From 1c27b9b71238395fa4f833ee2e280662422fcd0f Mon Sep 17 00:00:00 2001 From: wagyourtail Date: Tue, 26 Oct 2021 13:34:10 -0600 Subject: [PATCH 3/6] Update src/api/java/baritone/api/Settings.java --- src/api/java/baritone/api/Settings.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 7ca050cea..0f829c9e3 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -204,7 +204,6 @@ public final class Settings { * blocks that baritone shouldn't break, but can if it needs to. */ public final Setting> blocksToDiscourageBreaking = new Setting<>(new ArrayList<>(Arrays.asList( - ))); /** From 084798bd1b766d8f08329c1d1142b769a42737be Mon Sep 17 00:00:00 2001 From: wagyourtail Date: Tue, 26 Oct 2021 13:41:24 -0600 Subject: [PATCH 4/6] Update src/api/java/baritone/api/Settings.java --- src/api/java/baritone/api/Settings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 0f829c9e3..4c32d537f 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -203,7 +203,7 @@ public final class Settings { /** * blocks that baritone shouldn't break, but can if it needs to. */ - public final Setting> blocksToDiscourageBreaking = new Setting<>(new ArrayList<>(Arrays.asList( + public final Setting> blocksToDiscourageBreaking = new Setting<>(new ArrayList<>(Arrays.asList( ))); /** From 2980bb03205df8566661346c28055cda2a71f5bc Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Wed, 27 Oct 2021 13:45:30 -0600 Subject: [PATCH 5/6] match leij's backwards compat suggestion --- src/api/java/baritone/api/Settings.java | 23 ++++++++++--------- .../pathing/movement/MovementHelper.java | 2 +- src/main/java/baritone/utils/ToolSet.java | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 4c32d537f..2af87de14 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -190,26 +190,27 @@ public final class Settings { /** * Blocks that Baritone is not allowed to break */ - public final Setting> blocksToAvoidBreaking = new Setting<>(new ArrayList<>(Arrays.asList( // TODO can this be a HashSet or ImmutableSet? - Blocks.CRAFTING_TABLE, - Blocks.FURNACE, - Blocks.LIT_FURNACE, - Blocks.CHEST, - Blocks.TRAPPED_CHEST, - Blocks.STANDING_SIGN, - Blocks.WALL_SIGN - ))); + public final Setting> blocksToDisallowBreaking = new Setting<>(new ArrayList<>( + // Leave Empty by Default + )); /** * blocks that baritone shouldn't break, but can if it needs to. */ - public final Setting> blocksToDiscourageBreaking = new Setting<>(new ArrayList<>(Arrays.asList( + public final Setting> blocksToAvoidBreaking = new Setting<>(new ArrayList<>(Arrays.asList( // TODO can this be a HashSet or ImmutableSet? + Blocks.CRAFTING_TABLE, + Blocks.FURNACE, + Blocks.LIT_FURNACE, + Blocks.CHEST, + Blocks.TRAPPED_CHEST, + Blocks.STANDING_SIGN, + Blocks.WALL_SIGN ))); /** * this multiplies the break speed, if set above 1 it's "encourage breaking" instead */ - public final Setting discourageBreakingMultiplier = new Setting<>(.1); + public final Setting avoidBreakingMultiplier = new Setting<>(.1); /** * A list of blocks to be treated as if they're air. diff --git a/src/main/java/baritone/pathing/movement/MovementHelper.java b/src/main/java/baritone/pathing/movement/MovementHelper.java index 64528ddd6..f5f565e39 100644 --- a/src/main/java/baritone/pathing/movement/MovementHelper.java +++ b/src/main/java/baritone/pathing/movement/MovementHelper.java @@ -50,7 +50,7 @@ public interface MovementHelper extends ActionCosts, Helper { static boolean avoidBreaking(BlockStateInterface bsi, int x, int y, int z, IBlockState state) { Block b = state.getBlock(); - return Baritone.settings().blocksToAvoidBreaking.value.contains(b) + return Baritone.settings().blocksToDisallowBreaking.value.contains(b) || b == Blocks.ICE // ice becomes water, and water can mess up the path || b instanceof BlockSilverfish // obvious reasons // call context.get directly with x,y,z. no need to make 5 new BlockPos for no reason diff --git a/src/main/java/baritone/utils/ToolSet.java b/src/main/java/baritone/utils/ToolSet.java index d99adbb3f..4d17b4ea1 100644 --- a/src/main/java/baritone/utils/ToolSet.java +++ b/src/main/java/baritone/utils/ToolSet.java @@ -165,7 +165,7 @@ public class ToolSet { } private double avoidanceMultiplier(Block b) { - return Baritone.settings().blocksToDiscourageBreaking.value.contains(b) ? Baritone.settings().discourageBreakingMultiplier.value : 1; + return Baritone.settings().blocksToAvoidBreaking.value.contains(b) ? Baritone.settings().avoidBreakingMultiplier.value : 1; } /** From 9dc9edbbee8ca571773cfc296f167a2ad07b0198 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Wed, 27 Oct 2021 13:53:13 -0600 Subject: [PATCH 6/6] fix tabbing --- src/api/java/baritone/api/Settings.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 2af87de14..a3147292e 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -198,13 +198,13 @@ public final class Settings { * blocks that baritone shouldn't break, but can if it needs to. */ public final Setting> blocksToAvoidBreaking = new Setting<>(new ArrayList<>(Arrays.asList( // TODO can this be a HashSet or ImmutableSet? - Blocks.CRAFTING_TABLE, - Blocks.FURNACE, - Blocks.LIT_FURNACE, - Blocks.CHEST, - Blocks.TRAPPED_CHEST, - Blocks.STANDING_SIGN, - Blocks.WALL_SIGN + Blocks.CRAFTING_TABLE, + Blocks.FURNACE, + Blocks.LIT_FURNACE, + Blocks.CHEST, + Blocks.TRAPPED_CHEST, + Blocks.STANDING_SIGN, + Blocks.WALL_SIGN ))); /**