> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/BunnyNabbit/voxel-telephone/llms.txt
> Use this file to discover all available pages before exploring further.

# Transform Commands: Move, Replace, Courier & Furrier

> How to use Voxel Telephone's block-manipulation commands — /replace, /move, /courier, and /fur — to relocate, replace, and creatively distort regions.

Transform commands operate on a selection of blocks rather than drawing new geometry. They let you replace one block type with another, relocate or duplicate regions with optional rotation and flipping, and apply creative destructive or growth effects to existing structures.

<AccordionGroup>
  <Accordion title="/replace — swap one block type for another in a region">
    **Aliases:** `/r`

    Scans every block in a rectangular region and replaces all instances of a target block type with a replacement block type. Blocks of other types are left untouched.

    ```
    /replace
    /replace <findBlock>
    ```

    **Command layout:** `findBlock → position1 → position2 → replacementBlock`

    The server first infers the block to find from your held block (or asks you), then asks for two corner positions defining the region, and finally asks for the replacement block.

    **Example:**

    ```
    /replace 0
    ```

    Replaces all air blocks (`0`) in the selected region with your chosen replacement — useful for filling a hollow structure solid.
  </Accordion>

  <Accordion title="/move (PositionalTransform) — move, copy, rotate, or flip a region">
    **Aliases:** `/move`

    Copies or moves a rectangular region of blocks to a new position, with optional 90-degree rotation and axis flipping. This is the most flexible transform command.

    ```
    /move [mode] [rotation] [flipAxis]
    ```

    **Command layout:** `mode → rotation → flipAxis → positionStart → positionEnd → offsetPosition → pastePosition`

    * **positionStart / positionEnd** — the two corners of the region to transform.
    * **offsetPosition** — a reference point within or near the source region used to anchor the transformation.
    * **pastePosition** — where the transformed result is placed (corresponds to the offset point in the destination).

    ### Modes

    | Mode      | Behavior                                                                                                               |
    | --------- | ---------------------------------------------------------------------------------------------------------------------- |
    | `move`    | Clears the source region with air, then pastes the blocks at the destination. Air blocks in the source are not pasted. |
    | `copy`    | Leaves the source region intact and pastes a copy at the destination. Air blocks in the source are not pasted.         |
    | `moveAir` | Same as `move`, but also pastes air blocks — overwriting existing blocks in the destination with air.                  |
    | `copyAir` | Same as `copy`, but also pastes air blocks.                                                                            |

    ### Rotation

    | Value              | Effect                                                                                        |
    | ------------------ | --------------------------------------------------------------------------------------------- |
    | `none`             | No rotation.                                                                                  |
    | `clockwise`        | Rotates the selection 90° clockwise around the Y axis, pivoting at the paste position.        |
    | `counterclockwise` | Rotates the selection 90° counterclockwise around the Y axis, pivoting at the paste position. |

    ### Flip axis

    | Value  | Effect                                                                  |
    | ------ | ----------------------------------------------------------------------- |
    | `none` | No flip.                                                                |
    | `x`    | Mirrors the selection along the X axis, pivoting at the paste position. |
    | `y`    | Mirrors the selection along the Y axis.                                 |
    | `z`    | Mirrors the selection along the Z axis.                                 |

    **Examples:**

    ```
    /move move clockwise none
    /move copy none x
    ```

    <Note>
      The default values when arguments are omitted are `move`, `none`, and `none` — a straightforward block-for-block relocation with no rotation or flip.
    </Note>
  </Accordion>

  <Accordion title="/courier (CourierTransform) — simulate transit damage">
    **Aliases:** `/courier`

    Applies a destructive transformation to a region that makes it look as though it was damaged during rough shipping. The result is intentionally unpredictable and varies by position.

    ```
    /courier
    ```

    **Command layout:** `setBlock → position1 → position2`

    The `setBlock` parameter determines what destroyed blocks are replaced with. Use block ID `0` to delete destroyed blocks, or choose a block type to substitute in their place (for example rubble or dirt).

    ### What the command does

    1. **Damage pass** — Each non-air block in the region has roughly a 30% chance of being damaged. A damaged block either falls downward under simulated gravity (up to 32 blocks) until it lands on a solid block, or is replaced by the `setBlock` type.
    2. **Corner implosion pass** — From each of the eight corners of the region, blocks within a radius of 5 are given a chance to be pushed inward toward the center of the selection, compressing the shape.

    <Warning>
      This command is destructive and cannot be selectively undone block-by-block. Use `/vcr` beforehand if you want the option to revert the result.
    </Warning>
  </Accordion>

  <Accordion title="/fur (FurrierTransform) — grow fur outward from existing blocks">
    **Aliases:** `/furrier`, `/fur`

    Adds blocks into empty (air) spaces adjacent to existing blocks within a region, making the selection look fluffier or fuzzier. The growth is randomized and consistent — the same region will always produce the same result.

    ```
    /fur
    /furrier
    ```

    **Command layout:** `setBlock → position1 → position2`

    The `setBlock` parameter controls what type of block the fur is made of:

    * If `setBlock` is **air (0)**, the fur inherits the block type of the neighboring block it grew from.
    * If `setBlock` is **any other block**, all fur blocks will be that type regardless of the source block.

    ### How it works

    For each non-air block in the region, there is approximately a 75% chance it will try to grow fur. For each of its six face-adjacent neighbors that is currently air, there is a further \~50% chance a fur block is placed there. Fur is collected first, then placed all at once, so existing blocks are never overwritten.

    <Tip>
      Use `/fur` with `setBlock 0` on a wool or colored block to create natural-looking fluffy textures that follow the underlying color.
    </Tip>
  </Accordion>
</AccordionGroup>
