VoxelSniper offers several very useful brushes and tools. In this guide we'll go through the basic concepts and commands.
The item you're going to assign your brush is either arrow or gunpowder. Unlike WorldEdit, these are the only items that'll work with VoxelSniper, and they both have specific functions. In general
Arrow replaces blocks, gunpowder creates new blocks
Also, on certain brushes (erosion brushes for example), gunpowder basically does the opposite to what the brush is, more of this later.
Basic VoxelSniper brushes and syntax
Most VoxelSniper brushes use the following syntax for defining their functions:
/b [brush shape] [performers]
The most commonly used basic brush shapes are:
s = single block
b = ball/sphere
d = disc
VoxelSniper also has the following shapes, which may be useful on certain occasions:
v = voxel (cube)
vd = voxel disc (horizontal rectangle)
df = disc face (vertical disc)
vdf = voxel disc face (vertical rectangle)
This is probably the most confusing part for someone just getting started with VoxelSniper. Basically, performers define the way you brush is going to change/create blocks. VoxelSniper has the following performers:
m = material (block id)
i = ink (metadata)
c = combo (material+ink)
Depending on what you're trying to do, you'll need zero, one or two performers. How they actually work will be explained with examples below.
Finally, to define what blocks to use when painting, we have (note: "#" stands for a numeric value):
/v # = voxel block id
/vi # = voxel block metadata
/vr # = block to replace id
/vir # = block to replace metadata
Note: With VoxelSniper, you'll be only able to paint with a single block type. So, unlike with WorldEdit, you can't paint block mixes and/or percentages.
Also, don't forget these:
/b # (brush radius, i.e. size)
/u # (undo past # of snipes)
To make some sense of all this, here's a few examples.
(Note: On all examples, it's assumed you're using the arrow, not gunpowder)
Example 1: If you want to paint a ball of stone (1:0), you'd type (the stuff in parentheses excluded)
/b b (ball brush, no performers) /v 1 (stone id)
and you'll have a brush that paints stone balls on everything, much like WorldEdit brush without a mask.
Example 2: This time you want a ball of cobblestone, but only on empty (air, 0) blocks.
/b b mm (ball brush, material on material) /v 4 (cobble id) /vr 0 (air id)
So, now you're using the performer "mm". The first "m" means you're painting with "material" (block id defined with /v #), and the second "m" means you'll be painting on "material" (block id defined with /vr #). Note: when you use performer "mm", you'll paint on all metatypes of the defined block without changing the metadata. For example, with /v 35 and /vr 95 you'll be painting wool on all colours of stained glass, and the colour of the wool will be defined by the stained glass block you'll paint on.
Example 3: Let's say you want to paint red sand (2012:4) only on wool blocks (35). In this case, since you want a specific metadata of a certain block (a combo) to replace another specified block (a material), you'd type
/b b cm (ball brush, combo on material) /v 2012 (custom sand id) /vi 4 (red sand metadata) /vr 35 (wool id)
Now, since you're using performer "c" when defining the block you'll be painting with, you will change both the block type and metadata of the block you're painting on. The metadata is defined with /vi #. And as the second performer is "m", you will be painting on all colours of wool.
Example 4: You have an area with multiple different metas of a certain block (for example, red sand 2012:4 and orange sand 2012:3) and you only want to paint on red sand with light blue wool. In this case, you'd need to use the performer cc (combo on combo):
/b b cc (ball brush, combo on combo) /v 35 /vr 3 /vr 2012 /vir 4
Since your second performer is "c", you'll need to define the metadata of the block to replace with /vir #.
So: the first letter of the two-letter performer defines the voxel (paint) type and the second one defines how the block you're about to replace acts.
Note: By default, VoxelSniper ball and disc brushes have those silly "nipples". To disable them, do
/b b [performers] true
and you'll get a nice round ball with no single blocks sticking out of them.
Protip: Changing stairs to another type is pretty annoying with WE, as every orientation of the stair block has its own metadata, and this means you have to replace each metatype individually. Now, with a /b b mm Voxel brush things get easier: as you're changing from material to material, you're not changing the metadatas. So, to change every kind of oak stair to equivalent black slate stair:
/b b mm /v 2049 (black slate stair id) /vr 53 (oak stair id)
and just paint away. Each stair block will keep its shape and orientation.
In addition to m/i/c, VoxelSniper has a performer "p" for "nophysics". With this, you can for example paint floating sand blocks or replace blocks under doors to something you normally wouldn't be able to place a door on. Note: nophys blocks are quite fragile and will "break" if you place a block next to them, so use them with caution. So, if you want to replace a wood block (5) under a door with a cobble stair (67), you'd type
/b s cp /v 67 /vi # (metadata depending on stair orientation) /vr 5
In the examples above, we've only replaced single block types. Unlike WorldEdit, VoxelSniper doesn't have masks, but if you want to paint on multiple block types at the same time, you can use a voxel list instead of /vr #.
Let's say you want to paint on grass (2), dirt (3) and gravel (13). In this case, you'd make a voxel list.
/vl 2 3 13
Note: just spaces between ids, no commas. Also, you need to tell VoxelSniper what to do with this list. If you type
you will be able to paint on all block types defined with /vl. You can also use "nc", if you want to use a combo brush (material + ink, changing both block type and metadata).
In the example above, "n" means "include". Sometimes it's easier to define block types on which you don't want to paint, and fortunately VoxelSniper also has "x" for "exclude". So, if you want to paint on everything else but grass, dirt and gravel, you'd type
/p xm (or xc, if you want a combo brush)
Next, let's say you forgot a block type from your voxel, and want to add, for example, cobblestone and wood on it. Just type
/vl 4 5
and cobble (4) and wood (5) will be added to your voxel list, without removing any of the previously defined block types. You don't need to punch in all the block types every time you want to adjust the list, which is nice, especially with large lists. And, if you want to remove gravel from your list, type
and it'll be gone, but everything else will stay there. To clear the list completely, type
Note: unlike WorldEdit masks, voxel lists don't support metadatas. So, you will be painting on all metatypes of the blocks on your list.
Special VoxelSniper Brushes
In addition to the basic ball and disc brushes, VoxelSniper has several special brushes with more advanced options. These brushes have a certain amount of randomness in them, so will be useful when painting your terraformed landscape; a solid layer of a single block rarely looks natural. Note: all the following brushes use the same syntax (/v, /vr, /vl, /vi and so on) as the basic brushes above.
Sometimes you might want to paint just the top layer. With WorldEdit, you'd do //mask <0 (or gmask), but as VoxelSniper doesn't have masks, you'll have to use the overlay brush.
/b over cm d1 all
So, /b stands for brush, "over" means "overlay", and "cm" is your performer (all other performers work too, this is just an example). Next, "d1" means "depth 1", so you'll be painting a one block thick layer. If you want to paint deeper, just adjust the number. And finally, "all" means you'll be able to paint on all block types. By default, overlay brush only paints on "natural" blocks (blocks you'll find on vanilla mc terrain: stone, dirt, grass, gravel etc), and "all" disables this. If you for some reason want to switch back, use "some" instead of all.
Scatter Overlay Brush
To paint a scattered (randomized) layer of a block, you'll be using scatter overlay brush. What this brush does is, it paints a defined amount of "seed" blocks, from which your paint will spread or "grow". This is hard to explain, the best way to figure it out is to just test it in game.
/b sover cm g# s# all
"Sover" is short for "scatter overlay" and "cm" is the performer, as usual. The next parameters, "g" and "s" stand for "growth" and "seed" (accepted values: 1-9999. 2000 means 20%, 4500 means 45% and so on). "Seed" defines how many starting points you will have, "growth" defines how fast the blocks spread from seed blocks.
Unlike scatter, blob brush will have only one seed block from which your paint (somewhat randomly) spreads.
/b blob cm g#
WorldEdit is somewhat limited when it comes to terraforming; small brush sizes, no proper sculpting brushes, and spam spam spam. Luckily with VoxelSniper we have the following erosion brushes:
/b e melt
/b e fill
/b e lift
/b e smooth
/b bb (blend ball, similar to smooth)
/b bd (blend disc)
/ b re (random erosion)
The names of these brushes pretty much tell you what they do, and the best way to figure them out is just trying them in game. Each brush has its pros and cons and "proper" ways of use, and you'll learn them by using them. Carc's note: Personally, I don't find myself using lift, smooth, random or blend disc too much. Melt, fill and blend ball will take care of about 95% of things you wanna do when terraforming.
Note: Erosion brushes are not performer brushes, so you can't define which blocks to erode.
Note 2: As mentioned earlier that gunpowder does the opposite of what the brush name says. So, if you use /b e melt with an arrow, you'll be removing blocks, but if you use gunpowder, you'll be adding new blocks.
Additional VoxelSniper Brushes
In addition to the basic and erosion brushes, there are:
/b r = ruler (first point: click with arrow, second point: click with gunpowder)
/b l = line (as above)
/b drain = drains water/lava
/b dome h# = dome, # blocks tall