diff --git a/src/main/java/kaptainwutax/seedcracker/finder/BlockFinder.java b/src/main/java/kaptainwutax/seedcracker/finder/BlockFinder.java index d53231b..280e459 100644 --- a/src/main/java/kaptainwutax/seedcracker/finder/BlockFinder.java +++ b/src/main/java/kaptainwutax/seedcracker/finder/BlockFinder.java @@ -17,13 +17,11 @@ public abstract class BlockFinder extends Finder { public BlockFinder(World world, ChunkPos chunkPos, Block block) { super(world, chunkPos); - this.searchPositions.addAll(CHUNK_POSITIONS); this.targetBlockStates.addAll(block.getStateFactory().getStates()); } public BlockFinder(World world, ChunkPos chunkPos, BlockState... blockStates) { super(world, chunkPos); - this.searchPositions.addAll(CHUNK_POSITIONS); this.targetBlockStates.addAll(Arrays.stream(blockStates).collect(Collectors.toList())); } diff --git a/src/main/java/kaptainwutax/seedcracker/finder/Finder.java b/src/main/java/kaptainwutax/seedcracker/finder/Finder.java index e348757..7b07815 100644 --- a/src/main/java/kaptainwutax/seedcracker/finder/Finder.java +++ b/src/main/java/kaptainwutax/seedcracker/finder/Finder.java @@ -10,6 +10,7 @@ import net.minecraft.world.dimension.DimensionType; import java.util.ArrayList; import java.util.List; +import java.util.function.Predicate; public abstract class Finder { @@ -74,5 +75,17 @@ public abstract class Finder { } public abstract boolean isValidDimension(DimensionType dimension); + + public static List buildSearchPositions(List base, Predicate removeIf) { + List newList = new ArrayList<>(); + + for(BlockPos pos: base) { + if(!removeIf.test(pos)) { + newList.add(pos); + } + } + + return newList; + } }