> For the complete documentation index, see [llms.txt](https://ezedits.gitbook.io/ezedits/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ezedits.gitbook.io/ezedits/smoothblocks/smoothblocks.md).

# Smoothblocks

Generate, place shapes, and perform edits using shaping blocks like slabs, stairs, snow layers, water levels, etc.

### Currently supported commands are:

[Deform Commands (//ezdeform)](/ezedits/commands/deformation.md)

[Placement Commands (//ezplace, //ezarray, //ezscatter)](/ezedits/commands/placement.md)

[Spline Commands (//ezspline)](/ezedits/commands/spline.md)

[Smoothing Commands (//ezsmooth, //ezinflate, //ezdeflate, //ezsmoothblocks)](/ezedits/commands/smoothing.md)

[Surface Commands (//ezsurface)](/ezedits/commands/surface.md)

### How to use

Add the <mark style="color:orange;">**`-w <profile>`**</mark> flag when using one of the supported(!) commands.

<details>

<summary><mark style="color:blue;">Examples</mark></summary>

Comparing generating a noise spline with and without the SlabsOnly profile.

* `//ezspline noise ##grayscale 20`
* ` //ezspline noise ##grayscale 20`` `` `<mark style="color:orange;">**`-w Slabs`**</mark>

![](/files/1xsbsB0eW1hC58jnksy9)

Comparing pasting a rotated mushroom schematic with and without the SlabsOnly profile.

* `//ezplace Clipboard Aim`
* ` //ezplace Clipboard Aim`` `` `<mark style="color:orange;">**`-w Slabs`**</mark>

![](/files/1nrhrGjeuNMHtG25v3ls)

</details>

### Profiles

There are different smoothblocks profiles. One may, for example, use only slabs, the other may use stairs and slabs, and yet another may also use stairs and slabs but with different orientations. We hardcoded each preset to achieve a certain result. Each preset uses a specific subset of shaping blocks. We named each preset by the shaping blocks it uses. Depending on their complexity, some may take longer to run than others.

<figure><img src="/files/L0PLqTRLZMpcgfWZ0XMd" alt=""><figcaption></figcaption></figure>

<details>

<summary><mark style="color:blue;">Examples</mark></summary>

Comparing <mark style="color:blue;">**`//ezspline 3d ch smooth_sandstone -w <profile>`**</mark>

No smoothblocks\
![](/files/xb9F7CG1DymViUYIdu7G)\\

-w Slabs\
![](/files/KnL5terNccwubjpI16Bi)\\

-w SlabsAndStairs\
![](/files/kIsnwE4ISdlnSoCRyZnf)\\

-w SlabsAndStairs2D\
![](/files/WFgnZSmVefSpN2C0UT6l)\\

-w Layers\
![](/files/S3iGwjfivxid8jLHBXdN)

</details>

### Materials

By default, we use the <mark style="color:orange;">**closest colour**</mark> shaping block to the specified [pattern](https://worldedit.enginehub.org/en/latest/usage/general/patterns/), [palette](/ezedits/palettes/palettes-explained.md) or corresponding block within the schematic.

<details>

<summary><mark style="color:blue;">Examples</mark></summary>

If you generate a [Structure](/ezedits/commands/placement/available-structures.md) (e.g. an [Icosphere](/ezedits/commands/placement/available-structures.md#icosphere-ic)) using the pattern <mark style="color:blue;">**`clay`**</mark> using the <mark style="color:blue;">**`Slabs`**</mark> smoothblocks profile. Then, since there is no clay slab, it will use the slab variant that is **closest in colour** (determined using the default minecraft textures), which for clay would be a stone slab.

![](/files/vv2vGRlMnVtZlmjKc4aE)\\

Another example: ezEdits determined\
\- `deepslate_tile_slab` as the closest slab to `gray_concrete`\
\- `smooth_quartz_slab` as the closest slab to `white_wool`\
(The original schematic does not contain `deepslate_tile` or `smooth_quartz`)

![](/files/wIrzry9UfEppWeAdv7gr)

</details>

You may also <mark style="color:orange;">**override**</mark> the material of each shaping block variant, by setting the material yourself, e.g.: <mark style="color:orange;">**`-w Slabs(Slab:acacia)`**</mark>. When using commands that accept a palette, you may even define a whole custom palette or materials for each block variant.

* (Note: Currently, you cannot override materials when pasting schematics, clipboards or editing an existing region using smoothblocks.)
* (Special case: To override the shaping block materials of Structures which themselves require a Pattern or Palette field, you need to use the internal "Smoothblocks" parameter instead of the -w flag.)

### Coverage

The Coverage parameter is very specific parameter that (not directly but effectively) lets you control how many shaping blocks should be used as a percentage. 0 means only full blocks are placed, 1 means every surface block will be some shaping block.

The default (and the mathematically most accurate) value is `0.5`.

<details>

<summary>Examples</summary>

Gif going from `Coverage:0.0` to `Coverage:1.0`.\
![](/files/NXBBcAKufcQwm2snhaEg)

Example Command: `//ezspline basic clay 15 -w SSW(C:0.5)`

Another comparison between `C:0.5` and `C:1.0`:

<div><figure><img src="/files/cF7NY10uoWEAvUJ2OJIH" alt=""><figcaption><p>Coverage:0.5</p></figcaption></figure> <figure><img src="/files/SrlDp0t1AQuVlpOpD5Td" alt=""><figcaption><p>Coverage:1.0</p></figcaption></figure></div>

Note how 0.5 creates smoother and more faithful contours, while 1.0 places the stair at every possible corner block, sacrificing accuracy, but looking nice with Minecraft's default shading.

</details>
