added static search positions
This commit is contained in:
@@ -17,13 +17,11 @@ public abstract class BlockFinder extends Finder {
|
|||||||
|
|
||||||
public BlockFinder(World world, ChunkPos chunkPos, Block block) {
|
public BlockFinder(World world, ChunkPos chunkPos, Block block) {
|
||||||
super(world, chunkPos);
|
super(world, chunkPos);
|
||||||
this.searchPositions.addAll(CHUNK_POSITIONS);
|
|
||||||
this.targetBlockStates.addAll(block.getStateFactory().getStates());
|
this.targetBlockStates.addAll(block.getStateFactory().getStates());
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockFinder(World world, ChunkPos chunkPos, BlockState... blockStates) {
|
public BlockFinder(World world, ChunkPos chunkPos, BlockState... blockStates) {
|
||||||
super(world, chunkPos);
|
super(world, chunkPos);
|
||||||
this.searchPositions.addAll(CHUNK_POSITIONS);
|
|
||||||
this.targetBlockStates.addAll(Arrays.stream(blockStates).collect(Collectors.toList()));
|
this.targetBlockStates.addAll(Arrays.stream(blockStates).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import net.minecraft.world.dimension.DimensionType;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
public abstract class Finder {
|
public abstract class Finder {
|
||||||
|
|
||||||
@@ -74,5 +75,17 @@ public abstract class Finder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public abstract boolean isValidDimension(DimensionType dimension);
|
public abstract boolean isValidDimension(DimensionType dimension);
|
||||||
|
|
||||||
|
public static List<BlockPos> buildSearchPositions(List<BlockPos> base, Predicate<BlockPos> removeIf) {
|
||||||
|
List<BlockPos> newList = new ArrayList<>();
|
||||||
|
|
||||||
|
for(BlockPos pos: base) {
|
||||||
|
if(!removeIf.test(pos)) {
|
||||||
|
newList.add(pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return newList;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user