🛠️
ezEdits Wiki
English
English
  • ezEdits Docs
  • Getting Started
    • Installing
    • Permissions
  • Palettes
    • Palettes Explained
    • Default Palettes
    • Palette Commands
  • Noise
    • Noise Explained
    • Noise Commands
  • Masks & Patterns
    • Masks
    • Patterns
  • Brushes & Tools
    • Brushes
      • Palette Shift Brush
      • Palette Gradient Brushes
      • Placement Brushes
    • Superwand
  • Commands
    • Deformation
    • Flowfields
    • Noisegen
    • Region
    • Placement
      • Available Structures
      • Primary+Secondary Alignment
      • Placement Parameters
      • Scatter Parameters
      • Array Parameters
    • Selections
    • Shapes
    • Smoothing
    • Spline
      • Common Parameters
      • 2D Spline Shapes
      • 3D Spline Shapes
      • Advanced Spline Shapes
    • Stained Glass
    • Surface
    • Survival
    • Texturing
Powered by GitBook
On this page
  • //ezspline noise
  • //ezspline expression
  • //ezspline structure
  1. Commands
  2. Spline

Advanced Spline Shapes

Previous3D Spline ShapesNextStained Glass

Last updated 25 days ago

The following //ezspline subcommands feature three very powerful but more complex spline shapes with effectively limitless customizability.


//ezspline noise

Noise Spline

//ezsp noise <palette> [noise] [depth]

Generates a noise-based spline along the selected positions.

  • <Palette>:

    • Specifies the blocks that the spline should be made out of.

  • [noise] (Default: "Perlin(Freq:2,z:0.5)"):

    • The noise that should be embedded along the spline path.

  • [depth] (Default: 0.7):

    • How deep the noise should cut into the cylinder-shaped spline. Depths approaching 0 approach the original cylinder-shaped spline, 0.5 means the noise may reach half the radius deep, and 1.0 means the full radius, reaching the center. Larger than 1.0 will result in a choppy look.

  • [-i <expression>] (Default: "r=sqrt(x*x+y*y);t=(r-1)/d+1;f=r>1?1:(4*r*(r-1))^2;g=f*t+(1-f)*n;p=max((r-1)/min(d,1)+1,.001);(g>t)*p"):

    • Advanced parameter for nerds. Ignore if this above looks scary.

    • This expression implements the functionality of the noise cutting into a cylinder at a certain relative <depth>. . If you really want to, you can come up with a different expression here to get a different result. If you don't need custom noises just use //ezspline expression instead though.

    • Input parameters are x,y,z,n,d whereby x,y,z are assigned like in , n is the evaluation of the given <noise> at the coordinates x,y,z and d is the given <depth> parameter.

    • An alternative expression could be:

      • r=sqrt(x*x+y*y);(r<1&&n>0.5)*max(n,0.01): If you only want the noise to be restricted to a cylinder shape

The remaining arguments are outlined on the subpage.

Example:

//ezspline noise ##Grayscale 10

Demos

Just a small, quick set of noise commands I threw together to show what the noise spline can do. ~eztaK\

//ezspline noise -##Magma 5,25 Ce(F:1.5,fO:1,cR:sub,M:OR,U:-.6) 0.6 -t 90

//ezspline noise ##GrayWarm(3:11),251:8*15 25,10,25 Ce(F:1.6,fO:1,cD:r,cR:r,M:OR,L:-1.1,U:-.2) 0.4

//ezspline noise ~PanesOnly(Palette:light_gray_stained_glass) 20,15,25 Ce(f:1.4,z:.3,m:or,l:-1,u:-0.5) 3 -t 600 -i t=0.2;r=sqrt(x*x+y*y);m=1-abs(2*r-t-1)/abs(t-1);n<m&&r<1

//ezspline noise ##Brown 20,12 Ce(f:4,cr:sub,cj:.8,m:or,u:-.5,l:-1.3) 0.2 -s 6 -t 20

//ezspline noise -##GlowBlue(6:16) 20,12 Ce(f:2,cr:sub,m:or,u:-.55,l:-0.551,z:0.1) 0.9 -t 200

//ezspline noise ~SlabsOnly(Palette:"##GrayCold(4:11),waxed_weathered_cut_copper") 20 Ce(f:1.5,cr:sub,m:or,u:-0.85,l:-.5,y:0.3) -n UPRIGHT -i (x*x+n+y*y<1&&y<0)*(y+0.97)


//ezspline expression

Expression Spline

//ezsp expression <palette> [-z] [-o] <expression...>

Generates a spline shaped by the given WorldEdit expression along the selected positions.

  • <Palette>:

    • Specifies the block palette.

  • [-z]:

    • Without setting this flag, the domain of the z-axis is 0 to the length of the spline divided by the radius. You may set this flag to normalize the z-Axis, that runs along the path of the spline, to the [-1,1] domain.

  • [-o]:

    • By default, expression output maps >0..1 to the palette. Use this flag to instead map the output to whole numbers.

  • <expression...>:

    • . Input variables are

      • -1 ≤ x ≤ 1

      • -1 ≤ y ≤ 1

      • 0 ≤ z ≤ L, whereby L is the length of the spline divided by its radius.

      • or -1 ≤ z ≤ 1, if you're using the -z flag.

    • Output is either a normalized palette index (0,1] or if using the -o flag (0,P] whereby P is the number of blocks in the palette. Note that <=0 means not placing any block.

The remaining arguments are outlined on the subpage.

Example:

//ezspline expression clay 10 -t 90 R=0.2;r=0.1;w=0.7;s=0.5;sqrt((abs(x)-w)^2+y^2)<R||sqrt(((z+1)%s-r)^2+y^2)<r&&abs(x)<w

Expression by


//ezspline structure

Structure Spline

Embeds a structure along the path defined by the selected convex region.

  • <structure>:

    • The shape/clipboard/schematic to embed along the path. See Available Structures.

  • [-z]:

    • Normalizes the Z-Axis, which results in exactly one structure being stretched out throughout the entire length of the path.

The structure will be placed in its Z-direction facing along the path. Multiple instances will be repeated one after another as often as its bounding box fits, unless you use -z, in which case one instance of the structure will be stretched across the whole length of the path.

Examples:

//ezsp structure TS(P:##GlowPurple,S:Heart,T:=(z+y)*.4+.5) 12


//ezsp structure <structure> [-z]

Specifically for //ezsp structure, if the argument is left out, we will automatically calculate the radius at which the structure is generated at its original/inherent size.

The remaining arguments are outlined on the subpage.

[radii]
[-s <stretch>]
[-t <angle>]
[-p <kbParameters>]
[-q <quality>]
[-n <normalMode>]
[-h]
[radii]
Common Parameters
<radii>
[-s <stretch>]
[-t <angle>]
[-p <kbParameters>]
[-q <quality>]
[-n <normalMode>]
[-h]
Derivation
//ezspline expression
Common Parameters
<radii>
[-s <stretch>]
[-t <angle>]
[-p <kbParameters>]
[-q <quality>]
[-n <normalMode>]
[-h]
A WorldEdit expression
Common Parameters
imhols