Add a way to filter blocks
Opened this issue · 0 comments
inxomnyaa commented
As of now, the blocks()
iterator method takes in one parameter: layer
(for i.e. waterlogged blocks)
It will always return all blocks in a layer, but one may desire to only get all planks
or stone
blocks, or even all liquids (still and flowing lava & water). There can also be the opposite case where you want to ignore specific blocks, i.e. air
or structure_void
.
There are multiple ways to face this:
- Add an additional
filter
parameter, taking in a BlockPalette, and another parameter for ignoring unwanted blocks - A parameter taking in a string. This would allow for having wildcards for metadata. The strings might break due to block or property renames though.
- A parameter taking in a Filter object. This is likely a flexible solution, whilst still easy to use.
- A parameter taking in a
Closure
orcallable
to allow the developer to write their own filters