added static search positions

This commit is contained in:
Unknown
2019-11-15 07:42:18 -05:00
parent e4d1698b85
commit e728846e92
2 changed files with 13 additions and 2 deletions
@@ -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()));
}
@@ -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<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;
}
}