Merge pull request #3148 from Entropy5/master

Option to ignore direction of certain blocks during building
This commit is contained in:
Leijurv 2021-12-21 01:31:41 -10:00 committed by GitHub
commit 61a00b3965
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 0 deletions

View File

@ -258,6 +258,11 @@ public final class Settings {
*/ */
public final Setting<Boolean> buildIgnoreExisting = new Setting<>(false); public final Setting<Boolean> buildIgnoreExisting = new Setting<>(false);
/**
* If this is true, the builder will ignore directionality of certain blocks like glazed terracotta.
*/
public final Setting<Boolean> buildIgnoreDirection = new Setting<>(false);
/** /**
* If this setting is true, Baritone will never break a block that is adjacent to an unsupported falling block. * If this setting is true, Baritone will never break a block that is adjacent to an unsupported falling block.
* <p> * <p>

View File

@ -48,6 +48,9 @@ import baritone.utils.schematic.schematica.SchematicaHelper;
import it.unimi.dsi.fastutil.longs.LongOpenHashSet; import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
import net.minecraft.block.BlockAir; import net.minecraft.block.BlockAir;
import net.minecraft.block.BlockLiquid; import net.minecraft.block.BlockLiquid;
import net.minecraft.block.BlockGlazedTerracotta;
import net.minecraft.block.BlockBone;
import net.minecraft.block.BlockHay;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@ -836,6 +839,10 @@ public final class BuilderProcess extends BaritoneProcessHelper implements IBuil
if (desired == null) { if (desired == null) {
return true; return true;
} }
if ((current.getBlock() instanceof BlockGlazedTerracotta || current.getBlock() instanceof BlockBone || current.getBlock() instanceof BlockHay)
&& Baritone.settings().buildIgnoreDirection.value && current.getBlock() == desired.getBlock()) {
return true;
}
if (current.getBlock() instanceof BlockLiquid && Baritone.settings().okIfWater.value) { if (current.getBlock() instanceof BlockLiquid && Baritone.settings().okIfWater.value) {
return true; return true;
} }