feat: block placer
This PR puts the block placement logic from ModuleBedDefender in a separate class that can be used by other modules in the future that will require block placing. This will make the creation of block placing modules such as anchor aura significantly easier. This pull request also contains a proof of concept module: Auto Build, that will build structures such as nether portals.
It also adds more customization options such as an option to configure the placement swing.
Additionally this pull request adds a renderer that can render block positions with in and out effects as well as culling for inner faces.
What could be done to further improve this instead of resolving the TODOs would be to add the possibility for the block placer to support block placements that don't have a face to place on by creating a function that searches the shortest way to place blocks to support the target placement. Of course positions that not require that would have to be prioritized. - done
Another thing that would be nice is a configurable line width, but minecraft's rendering system doesn't really allow setting one.
Nice.
Very cool. Works flawless. Might be a little confusing to configure for some, but overall very powerful and useful module. Just needs more modes, but we'll see what people want and request.