inxomnyaa / inxomnyaa/libstructure

Add a way to filter blocks

Open
#4 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
14
Forks
1
PR merge metrics
No merged PRs in 30d

Description

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` or `callable` to allow the developer to write their own filters

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.