# Patterns

## Introduction

This page is currently being revised.

Patterns are used in various commands when changing blocks. e.g. `//set <pattern>` and `//material <pattern>`

## Syntax

### Blocks

Use the name or id of a block (e.g. `stone`).

### Inventory

You can use `hand`, or e.g. `slot5` to use blocks from your inventory.

### Multiple patterns

Use a comma (`,`) to randomly use a block from multiple patterns. For specific ratios you can use `%` e.g. `80%stone,20%planks`

### Arguments

Pattern arguments should be inside square brackets e.g. `#simplex[10][stone,wood]`

## Pattern list

### #offset \<dx> \<dy> \<dz> \<pattern>

**Desc**: Offset a pattern

### #mask \<mask> \<pattern-true> \<pattern-false>

**Desc**: Apply a pattern depending on a mask

### #spread \<dx> \<dy> \<dz> \<pattern>

**Desc**: Randomly spread blocks

### #buffer \<pattern>

**Desc**: Only place a block once while a pattern is in use\
Use with a brush when you don’t want to apply to the same spot twice

### #color \<color>

**Desc**: Use the block closest to a specific color

### #clipboard

**Desc**: Use the blocks in your clipboard as the pattern

### #existing

**Desc**: Use the block that is already there

### #biome \<biome>

**Desc**: Set the biome

### = \<expression>

**Desc**: Expression pattern: <http://wiki.sk89q.com/wiki/WorldEdit/Expression_syntax>

### #relative \<pattern>

**Desc**: Offset the pattern to where you click

### #saturate \<r> \<g> \<b>

**Desc**: Saturate the existing block with a color

### #darken

**Desc**: Darken the existing block

### #anglecolor \<distance>

**Desc**: A darker block based on the existing terrain angle

### #desaturate \<percent>

**Desc**: Desaturated color of the existing block

### #averagecolor \<r> \<g> \<b>

**Desc**: Average between the existing block and a color

### #fullcopy \[schem|folder|url=#copy] \[rotate=false] \[flip=false]

**Desc**: Places your full clipboard at each block

### #buffer2d \<pattern>

**Desc**: Only place a block once in a column while a pattern is in use

### #angledata

**Desc**: Block data based on the existing terrain angle

### #lighten \[randomize=true] \[max-complexity=100]

**Desc**: Lighten the existing block

### #!x \<pattern>

**Desc**: The pattern will not be provided the z axis info.\
Example: !x\[!z\[#\~\[#l3d\[pattern]]]]

### #surfacespread \<distance> \<pattern>

**Desc**: Applies to only blocks on a surface. Selects a block from provided pattern with a given ranomized offset \[0, ). e.g. Use `#existing` to randomly offset blocks in the world, or `#copy` to offset blocks in your clipboard

### #solidspread \<dx> \<dy> \<dz> \<pattern>

**Desc**: Randomly spread solid blocks

### #linear2d \<pattern> \[xscale=1] \[zscale=1]

**Desc**: Use the x,z coordinate to pick a block from the list

### #!y \<pattern>

**Desc**: The pattern will not be provided the y axis info

### #linear3d \<pattern> \[xscale=1] \[yscale=1] \[zscale=1]

**Desc**: Use the x,y,z coordinate to pick a block from the list

### #linear \<pattern>

**Desc**: Sequentially set blocks from a list of patterns

### #!z \<pattern>

**Desc**: The pattern will not be provided the z axis info

### #simplex \<scale=10> \<pattern>

**Desc**: Use simplex noise to randomize blocks

### #perlin \<scale=10> \<pattern>

**Desc**: Use perlin noise to randomize blocks

### #rmf \<scale=10> \<pattern>

**Desc**: Use ridged multi-fractal noise to randomize blocks

### #voronoi \<scale=10> \<pattern>

**Desc**: Use voronoi noise to randomize blocks


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://intellectualsites.gitbook.io/fastasyncworldedit/command-utilities/patterns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
