Available Structures
Last updated
Last updated
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:
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.
Example: Clipboard(Origin:INHERENT,PasteMethod:SMOOTHED)
or Cl(O:I,PM:smooth)
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.
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"
)
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)
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 .
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"
)
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.
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
(!
) Only available if v0.4.9 or higher is running on your server.
A deformed icosphere. Popularised in the building community under the .
Remember: All of the given examples were rendered with equal dimensions across all three axes. Use the to stretch and squish along the three axes.
and both have the PasteMethod parameter. Here's a comparison of both modes: