For the complete documentation index, see llms.txt. This page is also available as Markdown.

Flowfields

Commands based off the concept of "Flow Fields", often seen in generative art.

Conceptually they use some function (noise in our case), to generate a set of vectors along a grid, or field, which will dictate how particles flow through that field.

//ezflowfield

Flow Field

//ezflowfield <palette> <lines> <iterations> <velocity> <paletteScalar> <noise> [-m <source>] [-h <distributionMode>] [-i <inertia>] [-g <gravity>] [-j <jitter>] [-b <boundary>] [-x <xMod>] [-y <yMod>] [-z <zMod>] [-p <progression>] [-s <seed>] [-c] [-f] [-t]

Alias: //flow

Generates a flow field within a selection, creating dynamic pattern based on the many available parameters.

  • Palette: Specifies the palette of blocks to be used in generating the flowfield.

  • Lines: Defines the number of lines or a percentage distribution to determine how densely the flowfield is populated within the selection. e.g 100 will generate 100 lines, 100% will generate 1 line for every block in the region.

  • Iterations (Default: 32): The number of iterations or steps per line controlling how long they will be.

  • Velocity (Default: 1): The speed at which points move across the surface.

  • PaletteScalar (Default: 1.0): Scales the value used to select a palette block.

  • Noise (Default: Perlin()): The type of noise used to generate the flowfield.

  • -m: Applies a mask to limit the flow's start points, focusing the effect on specific areas.

  • -h: Enables heightmap mode for creating 2D flowfields, with optional block distribution modes.

  • -i (Default: 0.0): Sets the inertia weighting of the flow, controlling how much previous movement directions influence the next.

  • -g (Default: (0,0,0) ): Applies gravity to points, pulling them in the specified direction.

  • -j (Default: (0,0,0) ): Adds jitter to the start points of lines. Useful with -m flag.

  • -b (Default: 0): Expands the calculation boundary without placing blocks outside the original selection. Does not place blocks outside the selection.

  • -x, -y, -z: Modify the coordinates of the flow, allowing for transformations like scaling or rotation. Takes in a WorldEdit expression, e.g -x *10 to multiply the x axis by 10.

  • -p (Default: 1:1): Adjusts the strength of the line as it progresses, accepts negative values to either start or end on a point strength that subtracts from the flow field.

  • -s (Default: -1): Overrides the default noise seed.

  • -c: Returns the curl of the field.

  • -f: Fills gaps with the lowest block in the palette.

  • -t: Generates a 3D flowfield instead. May require a lot of time to generate.

//ezflowline

Flow Line

//ezflowline <pattern> <length> <gravity> <noise> [-i <inertia>] [-c <convexSelPoints>] [-l <lines>] [-r <randomStrength>] [-s]

Alias: //flowline

Generates a single flow-line based on the actor's position and viewing direction. The same fundamental premise as a Flow Field, but only generating 1 line.

  • Pattern: Determines the pattern of blocks to place.

  • Length: Sets the length of the flowline in blocks. This defines how far the flowline will extend from the starting point.

  • Gravity (Default: -1): Applies gravity to points, pulling them in the specified direction.

  • Noise (Default: Perlin()): The type of noise used to generate the flowfield.

  • -c (Default: 0): If greater than 0, creates a convex selection out of the flowline, using the specified number of points to define the selection's shape.

  • -i (Default: 0.0): Adjusts the point inertia weighting, controlling how much previous movement directions influence future directions. A value between 0.0 and 1.0.

  • -l (Default: 1): Number of flowlines to create.

  • -r (Default: 50): Strength of randomistation between lines created (When -l is above 1).

  • -s: Enables snapping of the flowline to surfaces, making the line adhere to the contours of the landscape or structures it intersects.

Last updated