Patterns

Many comnands in WorldEdit take a pattern as one of their arguments. A pattern determines what blocks, and what kind of blocks are placed in the world.

Available Patterns

Single Block Pattern

This is the most basic common type of pattern. Using this kind simply places the block as it is defined. Unlike the java mod, you can't use number block IDs to specify blocks. You instead define blocks by their string IDs, and optional block states. The syntax is as follows: namespace:block[state1=value,state2=value,...]. When a state isn't specified, it's left as its default value. The namespace can be assumed to be minecraft for vanilla blocks. However, it's required for blocks coming from other addons.

Example

;set stone

This sets the selected region to normal stone.

;set red_wool

This sets the region to red wool.

;set stone_slab[stone_slab_type=brick,top_slot_bit=true]

This sets the region to upper half brick slabs.

Tip

Using the ;blockid command while facing a block tells you how that block should be written in WorldEdit patterns!

Note

You can also define certain block variations by adding a data value to the block ID. wool:1 is orange wool for instance. This can't be defined alongside block states. You can find these data values in places like the Minecraft Wiki.

Random Pattern

It's possible to make a pattern that creates a mixture of other patterns. The simplest way is to just to make a comma separated list (pattern1,pattern2,etc...). This would make an even distribution of the list's elements. To make one pattern more common than an other, you can add percentages to each element (percent%pattern,...). A larger number means larger chance of being placed in an operation. The numbers don't have to add up to 100.

Example

;set dirt,grass

This sets the region to half dirt, half grass.

;set 20%*wool,80%stone

This sets the region to 20% random wool, and 80% stone.

Notice in the last example, how block patterns aren't the only patterns you can use. There's more!

Random State Pattern

Random state patterns create blocks with different random states. You make one by prefixing '*' infront of a block ID. For example, *log would make logs of most types and in all directions. Most types because some logs use their own ID.

Type/State Applying Pattern

Prefixing '^' to a block ID or block states allows you to change that aspect of blocks, and nothing more. Useful for when you want to change the type of a block without changing the orientation for instance.

Example

;replace birch_stairs ^acacia_stairs

This turns birch stairs into acacia ones while keeping their orientation.

;replace wheat ^[growth=7]

This makes all wheat crops fully grown.

Clipboard Pattern

Some patterns you want can get too complex to type. With #clipboard though, you can use what you've copied as your pattern. You can also offset the pattern by defining an offset like this. #clipboard@[x,y,z]

Hand Pattern

Want to quickly use a block without having to type it in? Use #hand to use the block in your main hand as your pattern. So if you were to hold sponge for instance, your pattern will contain sponge.

Gradients

Gradients are a complex pattern type. To create a gradient, type the command ;gradient followed by the name of the gradient, then patterns of your choice each separated with a space. For example, ;gradient nature stone dirt grass will make a gradient called "nature" that transitions from stone to dirt then grass.

Tips

You can specify the gradient based on a selection by running ;gradient -s "name". The command will read the selection along its longest side like a gradient map.

You can also change how much the patterns fade into each other with the -f flag. For example ;gradient -f 0 test stone dirt makes a gradient pattern called "test" of stone and dirt with a hard transition between the two.

Once you have defined a gradient you can then use it in a pattern like so: $gradient_name. By default the gradient goes upward, but you can specify the direction by adding a dot followed by the direction. For example, $gradient_name.north. Only absolute directions are supported, so left, right, forward nor back can't be used.