Skip to content

Placement Strategies

Matthias Neid edited this page Aug 9, 2024 · 7 revisions

A placement strategy defines in which order and at which speed blocks of the structure are added to the world.

The placement strategy can be set in CLI using the --placement or -p option with the name of the placement strategy and optional parameters in []. It might be necessary to use quotes around the whole argument to prevent the shell from interpreting the parameters, e.g. -p 'random[perTick=3]'. Multiple parameters can be comma separated, e.g. -p 'propagation[x=7,y=8,z=9]'.

This page lists all placement strategy presets currently available in plop, you can also write your own.


full

FullPlacementStrategy.php

The default and simplest placement strategy full just places all blocks at the same time.

plop_full

There are no further options.


random

RandomPlacementStrategy.php

Place blocks randomly.

plop_random

Available options:

Option Type Description Default Example
perTick int Number of blocks that should be placed at the same time each tick 1 'random[perTick=5]'

random-y

AxisPlacementStrategy.php

Place blocks randomly in each Y layer, from the lowest Y layer to the highest Y layer.

plop_random-y

Available options:

Option Type Description Default Example
perTick int Number of blocks that should be placed at the same time each tick 1 'random-y[perTick=5]'

xzy

AxisPlacementStrategy.php

Place blocks on the X axis first, then on the Z axis, and finally on the Y axis.

plop_xzy

Available options:

Option Type Description Default Example
perTick int Number of blocks that should be placed at the same time each tick 1 'xzy[perTick=5]'

propagation

PropagationPlacementStrategy.php

Place blocks starting from one point, propagating in all directions.

plop_propagation

Available options:

Option Type Description Default Example
perTick int Number of blocks that should be placed at the same time each tick 1 'propagation[perTick=5]'
x int Relative X coordinate for the starting position 0 'propagation[x=7,y=8,z=9]'
y int Relative Y coordinate for the starting position 0 'propagation[x=7,y=8,z=9]'
z int Relative Z coordinate for the starting position 0 'propagation[x=7,y=8,z=9]'
threshold float Distance threshold for finding neighbouring blocks 0.5 'propagation[threshold=2.7]'

same-material

SameMaterialPlacementStrategy.php

Places blocks grouped by block type.

plop_same-material

Available options:

Option Type Description Default Example
perTick int Number of blocks that should be placed at the same time each tick 1 'xzy[perTick=5]'
Clone this wiki locally