Skip to content

Latest commit

 

History

History
286 lines (179 loc) · 14.6 KB

available-structures.md

File metadata and controls

286 lines (179 loc) · 14.6 KB

Available Structures

In the context of ezEdits, we call an arrangement of blocks in 3D space a "structure". Each placement command requires the user to provide a <structure> argument.

Currently available structures are:

Clipboard (Cl)

A structure based on your current WorldEdit Clipboard (//copy).

Syntax: Clipboard

Abbr.: Cl

Options:

  • Origin (O). Defaults to INHERENT.
    • INHERENT (I) will use the position it was copied at
    • CENTER (C) will use the geometric center of the clipboard
  • PasteMethod (PM). Defaults to FAST. See #comparison-between-fast-and-smooth-pastemethod
    • FAST (fast): Default unaltered pasting of clipboards, like //paste
    • SMOOTHED (smooth): Applies interpolation when the placement cannot be matched into the world grid, e.g. when placing with a 45° rotated orientation. Has a slightly more smoothed look to it, which may preferred for freely rotated placements.
    • See #comparison-between-fast-and-smooth-pastemethod
  • Example: Clipboard(Origin:INHERENT,PasteMethod:SMOOTHED) or Cl(O:I,PM:smooth)
Schematic (Sc)

A structure based on a schematic file.

Syntax: Schematic(Filename:<name>,...)

Abbr.: Sc(N:<name>,...)

Mandatory parameters:

  • Filename (N). A regex pattern for specifying all filenames of the schematics you want to place.
    • For example, if you type in Sc(N:tree_.*) we will fetch all schematic files that match the regex tree.*, e.g. tree_1, tree_2, tree_3 etc.
    • In case you use FAWE's per-player-schematics path system, in which schematics are separated into folders named after each player's UUID, you can use the shortcut %p to denote your own UUID and access your folder through e.g. %p/your_schematic.schem

Options:

  • Format (F). Format of the schematic file. Defaults to sponge.3 (or FAWE's fast if you're using FAWE). The default value should work for the majority of cases.
  • Origin (O). Defaults to INHERENT.
    • INHERENT (I) will use the position it was copied at.
    • CENTER (C) will use the center of the clipboard's region as the origin instead.
  • PasteMethod (PM). Defaults to FAST.
    • FAST (fast): Default unaltered pasting of clipboards, like //paste
    • SMOOTHED (smooth): Applies interpolation when the placement cannot be matched into the world grid, e.g. when placing with a 45° rotated orientation. Has a slightly more smoothed look to it, which may preferred for freely rotated placements.
    • See #comparison-between-fast-and-smooth-pastemethod
Shape (Sh)

An expression-based shape. EzEdits provides plenty of predefined ones. Material defined by a pattern.

Syntax: Shape(Shape:<shape>,Pattern:<pattern>)

Abbr.: Sh(S:<shape>,P:<pattern>)

Mandatory Parameters:

  • Shape (S). Well, defines the shape of the Shape structure. Additional parameters are given within the parenthesis after. Available shapes are:
    • Cone

    • Crystal([Sides:<sides>],[Extrusion:<value>])

    • Cuboid

    • Curl

    • Cylinder

    • Ellipsoid

    • Fur

    • Heart

    • Jellybean

    • Leaf

    • Lemon

    • Onion

    • Polygon([Sides:<sides>])

    • Pyramid([Sides:<sides>])

    • Supersphere(Exponent:<exponent>)

    • Tetrahedron

    • Torus(Thickness:<value>)

    • =<expression>

      • In addition to predefined shapes, you can also define your own shape with a WorldEdit expression.
      • For example, this expression will create spirals:
        Shape(S:=x+=sin(2*pi*y)/2;z+=cos(2*pi*y)/2;x*x+z*z<0.3^2,P:clay)
  • Pattern (P). The pattern which the shape should be made of.
    • Note: Commas , being part of the argument breaks the input parser. If you want to use a pattern that uses commas then you need to put your Pattern argument in quotes: E.g. Sh(S:Cone,Pattern:"dirt,diamond_block")
Expression (Ex)

An expression-based shape. One expression defines both the shape and the texturing.

Syntax: Expression(Expression:=<expression>,Palette:<palette>)

Abbr.: Ex(E:=<expression>,P:<palette>)

Mandatory Parameters:

  • Expression (E). Input variables are x, y, z, all between [-1,1], and seed.
    • x=0,y=0,z=0 is the origin of the structure.
    • If the expression f(x,y,z) evaluates as f_≤_0, 0 or negative, then the position will be air.
    • If it evaluates as 1>f>0, between 0 and 1, then the according palette block is placed.
    • Otherwise, any value 1 or larger will place the last palette block.
    • seed is a random integer between 0 and 2147483647, different for each placement (but most importantly constant within a single placement)
  • Palette (P). The set of blocks of which the structure should be made of.
    • Note: Commas , being part of the argument breaks the input parser. If you want to use a palette that uses commas then you need to put your Palette argument in quotes: E.g. Ex(E:=y*.5+.5,Palette:"##GlowOrange,-##GlowPurple")

Example:

Ex(E:"=x*x+y*y+z*z<perlin(seed,x,y,z,1,1,.5)",P:clay)

TexturedShape (TS)

An expression-based shape with an expression-based texturing. The Shape parameter defines its shape. The Palette and Texturing-Shape parameters define its material.

Syntax: TexturedShape(Shape:<shape>,TexturingShape:<shape>,Palette:<palette>)

Abbr.: TS(S:<shape>,T:<shape>,P:<palette>)

Mandatory Parameters:

  • Shape (S). See Shape Structure.
  • TexturingShape (T). Defines which parts of the shape are painted with which blocks of the palette. Accepts a shape, just like the Shape Parameter.
  • Palette (P). The set of blocks of which the shape should be made of.
    • Note: Commas , being part of the argument breaks the input parser. If you want to use a palette that uses commas then you need to put your Palette argument in quotes: E.g. TS(S:Cone,T:=y*.5+.5;Palette:"dirt,diamond_block")
Icosphere (Ic)

(!) Only available if Arceon v0.4.9 or higher is running on your server.

A deformed icosphere. Popularised in the building community under the Arceon Boulder.

Syntax: Icosphere(Pattern:<pattern>,Randomness:<value>,Subdivisions:<value>)

Abbr.: Ic(P:<pattern>,R:<value>,S:<value>)

Mandatory Parameters:

  • Pattern (P). The pattern which the shape should be made of.
    • Note: Commas , being part of the argument breaks the input parser. If you want to use a pattern that uses commas then you need to put your Pattern argument in quotes: E.g. Ic(P:"dirt,diamond_block")

Optional Parameters:

  • Randomness (R). Defines how strongly the icosphere is deformed.
    • Defaults to 0.5.
    • Accepts a value between 0 and 1:
      • 0 resulting in a perfectly uniform icosphere,
      • 0.5 results in a fairly deformed boulder shape.
      • 1 resulting in a maximally deformed boulder shape.
      • All above examples at Subdivisions=0.
  • Subdivisions (S). Determines the amount of polygons used.
    • Defaults to 0.
    • Choose between 0, 1, 2, 3, 4:
      • 0 results in the most low-poly look
      • 1
      • 2
      • 3
      • 4 results in many polygons used, but also limits the amount of randomness, resulting in a pretty spherical look even with maximum randomness as you can already see with 3 subdivisions.
    • (!) Large number of subdivisions have a large performance impact.

Remember: All of the given examples were rendered with equal dimensions across all three axes. Use the dimensions parameter to stretch and squish along the three axes.


Comparison between FAST and SMOOTH PasteMethod:

Clipboard and Schematic both have the PasteMethod parameter. Here's a comparison of both modes:

Comparison

Let's say this is our clipboard or our schematic:

Here's how it would look pasted at an odd angle when using

  • PasteMethod:FAST
  • vs PasteMethod:SMOOTHED

Or when pasted a significantly larger size:

  • PasteMethod:FAST
  • vs PasteMethod:SMOOTHED

There's also an additional parameter to the SMOOTHED PasteMethod: The FillBias. It allows you to specify whether the tool should try to place more blocks or try to place less blocks. This could be particularly helpful for e.g., particularly thin structures.

Let's say this curved one-block thick sheet is our clipboard/schematic now.

Here's how it would look pasted at an odd angle when using

  • //paste orPasteMethod:FAST
  • compared to PasteMethod:SMOOTHED
  • compared to PasteMethod:SMOOTHED,FillBias:3 (default FillBias is 1.0)
  • compared to a GIF going from Fillbias:0.25 up to Fillbias:3.0