From d2a046c8b48741d9bb47143ecb14bd3c0669ce89 Mon Sep 17 00:00:00 2001 From: Orinion Date: Wed, 28 Aug 2019 20:15:41 +0200 Subject: [PATCH 1/2] Add replantCrops setting add replantCrops setting, simmilar to replantNetherWart for the other crops. --- src/api/java/baritone/api/Settings.java | 5 +++++ src/main/java/baritone/process/FarmProcess.java | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index c7cee8bb8..0d8e37a0d 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -656,6 +656,11 @@ public final class Settings { */ public final Setting exploreMaintainY = new Setting<>(64); + /** + * Replant normal Crops while farming and leave cactus and sugarcane to regrow + */ + public final Setting replantCrops = new Setting<>(true); + /** * Replant nether wart while farming */ diff --git a/src/main/java/baritone/process/FarmProcess.java b/src/main/java/baritone/process/FarmProcess.java index 350b1ac81..d9cf9b2aa 100644 --- a/src/main/java/baritone/process/FarmProcess.java +++ b/src/main/java/baritone/process/FarmProcess.java @@ -112,13 +112,17 @@ public final class FarmProcess extends BaritoneProcessHelper implements IFarmPro SUGARCANE(Blocks.REEDS, null) { @Override public boolean readyToHarvest(World world, BlockPos pos, IBlockState state) { - return world.getBlockState(pos.down()).getBlock() instanceof BlockReed; + if(Baritone.settings().replantCrops.value) + return world.getBlockState(pos.down()).getBlock() instanceof BlockReed; + return true; } }, CACTUS(Blocks.CACTUS, null) { @Override public boolean readyToHarvest(World world, BlockPos pos, IBlockState state) { - return world.getBlockState(pos.down()).getBlock() instanceof BlockCactus; + if(Baritone.settings().replantCrops.value) + return world.getBlockState(pos.down()).getBlock() instanceof BlockCactus; + return true; } }; public final Block block; @@ -166,7 +170,9 @@ public final class FarmProcess extends BaritoneProcessHelper implements IFarmPro for (Harvest harvest : Harvest.values()) { scan.add(harvest.block); } - scan.add(Blocks.FARMLAND); + if (Baritone.settings().replantCrops.value) { + scan.add(Blocks.FARMLAND); + } if (Baritone.settings().replantNetherWart.value) { scan.add(Blocks.SOUL_SAND); } From 65a9b1a78a2d03c5c27d7358bdb276a2ee2c2677 Mon Sep 17 00:00:00 2001 From: Orinion Date: Thu, 29 Aug 2019 10:36:31 +0200 Subject: [PATCH 2/2] Make replantCrops override replantNetherWart When replantCrops is false, baritone will not replant nether wart. Also fixed spacing. --- src/api/java/baritone/api/Settings.java | 2 +- src/main/java/baritone/process/FarmProcess.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 0d8e37a0d..03de96e88 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -662,7 +662,7 @@ public final class Settings { public final Setting replantCrops = new Setting<>(true); /** - * Replant nether wart while farming + * Replant nether wart while farming. This setting only has an effect when replantCrops is also enabled */ public final Setting replantNetherWart = new Setting<>(false); diff --git a/src/main/java/baritone/process/FarmProcess.java b/src/main/java/baritone/process/FarmProcess.java index d9cf9b2aa..00273a9f4 100644 --- a/src/main/java/baritone/process/FarmProcess.java +++ b/src/main/java/baritone/process/FarmProcess.java @@ -112,16 +112,18 @@ public final class FarmProcess extends BaritoneProcessHelper implements IFarmPro SUGARCANE(Blocks.REEDS, null) { @Override public boolean readyToHarvest(World world, BlockPos pos, IBlockState state) { - if(Baritone.settings().replantCrops.value) + if (Baritone.settings().replantCrops.value) { return world.getBlockState(pos.down()).getBlock() instanceof BlockReed; + } return true; } }, CACTUS(Blocks.CACTUS, null) { @Override public boolean readyToHarvest(World world, BlockPos pos, IBlockState state) { - if(Baritone.settings().replantCrops.value) + if (Baritone.settings().replantCrops.value) { return world.getBlockState(pos.down()).getBlock() instanceof BlockCactus; + } return true; } }; @@ -172,10 +174,11 @@ public final class FarmProcess extends BaritoneProcessHelper implements IFarmPro } if (Baritone.settings().replantCrops.value) { scan.add(Blocks.FARMLAND); + if (Baritone.settings().replantNetherWart.value) { + scan.add(Blocks.SOUL_SAND); + } } - if (Baritone.settings().replantNetherWart.value) { - scan.add(Blocks.SOUL_SAND); - } + if (Baritone.settings().mineGoalUpdateInterval.value != 0 && tickCount++ % Baritone.settings().mineGoalUpdateInterval.value == 0) { Baritone.getExecutor().execute(() -> locations = WorldScanner.INSTANCE.scanChunkRadius(ctx, scan, 256, 10, 10)); }