Skip to content

Place axis-aware blocks: Optimize for density of block at the axis-pointing surface #2380

Open
@mk-pmb

Description

@mk-pmb

The Problem

I'm building grids of oak logs and chains in water or air. It's tedious to select lots of small regions in order to set the correct orientation.

A Solution

My concept of block density is: void < air < non-air liquid < partial block < transparent full block < opaque full block.

I'd like to give my preference for whether the axis-aligned sides (oak log rings, chain ends) should prefer higher or lower density, and a priority list of fixed directions that decides in the case the density preference can be satisfied equally by multiple axes.
The measurement of neighboring blocks' density shall compare the block that would be the neighbor after placement.
Example: When placing a straight line of chain floating in air, it would compare to the to-be-placed chains and thus a preference for higher density would connect all of them.

The syntax could be something like //replace glass oak_log[axis=Dxz] where D means high density (d = low density). If multiple axes will achieve it: If one of them is the X axis, use [axis=x]. Otherwise, if the Z axis is one of the equally-good axes, use [axis=z]. If there's still ambiguity, pick any of the good axes. (In this example, there should only be one remaining choice anyway.)

Alternatives

No response

Anything Else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions