Last updated
Last updated
and place multiple structures within a region. The positions that these commands choose can be customized with the parameters described on this page.
scatter
first extracts all surface blocks (all non-air blocks touching air) from a region defined by -h <region>
. You can filter out surfaces that do not match certain conditions using -d <directions>
& -e <threshold>
, and -m <mask>
. On the remaining surfaces, a placement position distribution according to the given density -n <density>
and uniformity -u <iterations>
is calculated and structures are placed.
-h <region>
Determines the region in which the placement positions are scattered.
Defaults to:
Your currently selected region for //ezscatter
-h Active(UseOriginalPosition:true)
or a 40x40x40 cuboid region around the clicked position for //ezbrush scatter
.
-h Box(Dimensions:"40,40,40")
Available options:
Box
(B
): A cuboid region. (Named Box to have single-letter abbreviations)
Ellipsoid
(E
): An ellipsoidal region
Cylinder
(C
): A cylindrical region
The dimensions of the first three can be set using the Dimensions
(D
) parameter, e.g. Box(Dimensions:"60,30,60")
or B(D:"60,30,60")
. It defaults to "40,40,40"
.
Saved
(S
): A selection saved using //ezsel save
.
Requires you to define the Name
(N
) parameter, choosing one of your saved selections.
Active
(A
): Your currently selected region.
Contrary to the first three region options, these last two options have an inherent position in the world. You may choose to override their position by moving them to the player (//ezsc
) or the clicked position (//ezbr sc
), or use their inherent position using the UseOriginalPosition
(P
) parameter.
The default value for the region argument for //ezsc
is in fact -h Active(UseOriginalPosition:true)
. If you set it to false, then the command is executed with the region shifted to your player location.
By default, the center of the region is positioned at the target position. You may define an offset using the Offset
(O
) parameter to move it relative to its target position. The default is (0,0,0)
.
-d <directions>
and -e <threshold>
Enables filtering out placement positions on surfaces that are facing certain directions.
The -d <directions>
parameter defines the list of cardinal directions (up, down, north, east, south, west) in which the surface, on which the placement positions points are placed at, must face. If a placement position does not satisfy this condition, no structure will be placed there.
The -e <threshold>
parameter defines how much the surface normal at the placement position must align with any of the directions given by -d
. The higher the value the stronger the filter.
-d
defaults to an empty list (nothing).
-e
defaults to 0.5. Expected value range is -1 to 1.
-m <mask>
Enables filtering out placement positions that do not match a mask given by -m <mask>
. Placement positions must satisfy the mask for a structure to be placed.
-n <density>
Determines how many placements are placed, by specifying a density percentage.
The density value is a percentage. It determines what percentage of surface blocks a structure is placed on. Specifically, it determines the percentage of positions after the directional filter and the mask filter have been applied.
To be overly specific: Let N be the remaining surface blocks (e.g. the result of //count [!air]&[~air]
if neither filter is used), then the final amount of structures placed is equal to N * density / 100.
The percent sign "%" is optional. 0.5
is interpreted as 0.5%
.
-i <seed>
Sets the seed for the random number generator which chooses the initial random placement positions.
Defaults to -1
(random seed), meaning that the placement positions differ in each execution of the scatter command.
-u <iterations>
Determines how uniformly spread out all placement positions are. Expecting a positive integer including 0.
Defaults to 15
.
The uniformity algorithm works by starting with fully random placement positions, and iteratively repelling all positions apart from one another. This parameter sets the number of repelling iterations to perform. Thus, 0 means the placement positions within your region are purely random.
-l <pattern>
This is a niche utility option for cases in which you apply a scatter multiple times in a neighbouring region but do not want to place structures in areas where you already did scatter before. So using this flag, you can (temporarily within your workflow) overwrite all surface blocks within your region with the given block, such that any following scatter operations that overlap with already covered regions, do not place structures there because the surface blocks have been "covered".
-t
By default scatter
will determine placement positions within the currently selected region, but will place blocks outside the region if a placement position is at the border of the currently selected region. You may cut off any such blocks (prevent them from being placed) with this -t
flag.
Turning on this flag is comparable to running the command with //gmask #region
(for //ezscatter
at least).
Selection is visualised using pink wool for clarity (using the ).
After placing all structures, replace all unaffected surface blocks within the region that match the with the given block. (-m
must be set for this flag to take effect.)