VoxelWeave 织界

Plant a forest, line a path with lamps, or build a mountain from scratch. VoxelWeave is a tool developed by VoxelUtopia that adds asset brushes and node modeling to Axiom. Preview your work as a ghost before placing it in the world.

For VoxelWeave Alpha 3 · Minecraft 26.3

Same height field, different processing node

Height Noise → Terrace Height → Terrain Surface → Output

Web demonstration Processing node: Terrace Height
Browse the contents

What would you like to make?

Fill out a scene

Already have trees, rocks or houses? Fill an area quickly, without touching nodes.

  1. Setup and the four tools
  2. First stroke: a forest
  3. Build your own group
  4. Save and share
Start with the brush →

Build some terrain

Build hills, terraces and slopes, with stone appearing automatically on steep ground. Start with four nodes.

  1. Setup and the four tools
  2. Your first mountain
  3. Change the shape
  4. Coloring 、 Slabs and surface layers
Start modeling →

Place assets with nodes

Tried both? Let nodes position a row of lamps or a ring of trees.

  1. Place assets on points
  2. Save and share
  3. Find a node
Combine the two →

Get ready and find the four tools

By the end of this section

Open VoxelWeave in the game and know when to use the brush or modeling tool.

Game Minecraft 26.3

Fabric client

Required Axiom 6.1.3

Provides the editor, ghost previews and undo

Mod VoxelWeave

Get it from VoxelUtopia’s official channels

Put Axiom and VoxelWeave in your client’s mods folder and start the game. Enter a world, then press Right Shift to open Axiom. Look for the VoxelWeave icons on the toolbar; hover over an icon to see its name.

Brush or modeling: what changes?

Brush

You provide
An asset: single, group or cluster
What it does
Places a batch of assets within a radius and spacing
Right-click
Paint : places the stroke immediately
Good for
Forests, rubble, scattered cottages

Modeling

You provide
A node graph
What it does
Computes terrain or a batch of placements
Right-click
Pin the ghost ; press Enter to place it
Good for
Terrain, coloring, regular layouts
Installed but cannot find the tools?

Check that both Axiom and VoxelWeave are enabled. Right Shift is Axiom’s default key; use your own binding if you changed it. The node panel can dock on the left or expand for editing.

Moving from SchematicStudio

Exit the game and remove the old SchematicStudio mod from mods before adding VoxelWeave. Keeping both prevents startup. Keep your personal assets, settings and worlds.

First stroke: plant a forest

By the end of this section

Plant eight trees and learn to undo the stroke. Just the brush, no nodes needed.

  1. Choose an asset. Brush → Personal → Group → 官方预设_原版树林 (Vanilla Forest) . It contains vanilla-generated oak, birch, spruce, acacia and cherry trees.
  2. Set the parameters. Radius 30 , spacing 12 , count 8 , distribution Uniform . Start small so you can see what is happening.
  3. Check the ghost. Point at loaded ground. The trees follow your cursor as ghosts; the world has not changed yet.
  4. Right-click to paint. Wait for one stroke to finish before starting the next. Each stroke uses a new random seed, so successive strokes look different.
  5. Undo. Use Axiom’s undo, usually Ctrl + Z , to remove the whole stroke. If nothing happens, click empty space in the node graph; a text field may have keyboard focus.

Why eight requested trees can become five

This top-down simulation shows the radius as a dashed circle and spacing around each point. Reduce the radius or increase spacing to see the placement count change.

Web demo · top-down placements
Actual placements 8 / 8

Parameter What it controls Common misunderstanding
Radius 1~512 The area where trees can be placed Does not resize the trees
Spacing 1~256 Minimum distance between planting points Measured root to root; canopies can overlap
Count 1~256 Maximum trees per stroke An upper limit; fewer appear if there is no room
Distribution Grid, uniform, center, edge, ring, clusters Center and edge also have a strength setting

Only need one? Switch to Single. It places one asset at a time, so count and spacing are hidden.

Pick assets on the left, edit the recipe in the middle, and adjust parameters on the right.
What success looks like

Ghosts follow your cursor. Right-click places all eight trees; undo removes them together.

Comfortable with the preset forest? Build your own next

Build your own group

By the end of this section

Make a group with more oaks than birches, save it, and paint with it next time.

VoxelWeave saves four kinds of content. Singles store blocks, groups and clusters store asset-selection recipes, and programs store entire modeling graphs.

Single One asset

One tree or cottage is one BP.

Group Several assets + selection weights

More oak, less birch, with processing such as rotation and grounding.

Cluster A combination of groups

Forest group + shrub group + rock group.

Program A modeling node graph

Saves connections and parameters for reopening in Modeling. It cannot currently be embedded as a node in another graph.

Build it

  1. Select Single in the left node list and add two different trees. You can also right-click empty graph space to open the add menu.
  2. Add a Group, connect each tree to a separate group input, then connect the group to Output.
  3. Select the group and adjust member weights. 300 and 100 mean the first appears more often, not an exact three-to-one ratio in every stroke.
  4. If needed, add processing nodes on the path to Output (see below).
  5. Click Save to Personal. To share, choose Save to Server (Public); see Save and share 。
Processing node When to use it
Random Rotation, Random Mirror Keep trees from all facing the same way
Grounding For uneven ground. Large assets may not touch the ground at every block.
Keep Existing Blocks Avoid replacing existing blocks
Extend Foundation Extend supports downward when placed on slopes
Processing has no effect?

Only nodes connected to Output participate. Disconnected nodes do nothing.

What success looks like

After several strokes, oaks should outnumber birches. Original library assets stay unchanged; the group stores only the recipe.

Ready to make your own terrain? Switch to Modeling

Your first mountain

By the end of this section

Build a terraced mountain with four nodes, learning the preview, pin and placement steps.

Try it here first. Each Next step connects another node so you can see the result take shape.

Web demonstration

Now try it in the game

  1. Load the preset. Open Modeling. In the program menu, choose Official Presets (Personal Only) → “Example 1 · Terraced Hills”. Its four nodes are already connected.
  2. Choose a location. Point at the ground and right-click to pin the ghost.
  3. Adjust the terraces. Select Terrace Height. Change its step from 3 to 1, then 4. Larger values make stronger terraces.
  4. Adjust the relief. In Height Noise, change one setting at a time: amplitude controls height variation, scale controls hill width, and base height lifts everything.
  5. Adjust position and size. Fine-tune the anchor with X/Y/Z, choosing the center or a corner in the menu. Width X, depth Z and height Y are independent; proportions are not locked.
  6. Place it. Once the ghost has updated, press Enter or click Apply. To undo, use Ctrl + Z。

Right-click paints in Brush, but only pins the location in Modeling. Check the instructions on the left when switching tools.

The four-node mountain in Modeling. Selected-node parameters and a height preview appear on the right.
Size versus sampling resolution?

Size sets the generated dimensions; resolution sets sampling density, not building size. Tune a small area before increasing width and depth. Higher resolution adds detail and work; reduce size or resolution if the budget is exceeded.

Terrace Height is not Surface Stairs

Terrace Height changes the terrain silhouette; Surface Stairs replaces suitable surface blocks with stairs. See Slabs, stairs and surface layers for details.

What success looks like

Changing parameters updates the ghost, not the world. Blocks appear only after you press Enter.

The mountain is ready. Compare a few processing nodes next

Change the shape

By the end of this section

Learn what six processing options do, so you can predict the result before changing a setting.

Keep the mountain and change only its processing node. Select a node, adjust parameters and compare with the original. Slider ranges match the game. These simplified algorithms show the same tendencies, not identical terrain.

Web demo · 32 × 32 height field

Height Noise

Terrace Height

Seed 12345
Try a comparison

Choose Thermal Erosion: 16 iterations, threshold 1, transport 50. Raise only iterations to 32 and watch slopes soften. Set transport to 0 to stop the change. This moves height down slopes, not flowing water. Add Terrace Height afterward if you want terraces back.

Match port types: height to height, material to material. Different types need a conversion node.

What success looks like

The mountain keeps its overall shape while the slopes and terraces change.

Happy with the shape? Add materials

Color by slope and height

By the end of this section

Make sandstone terrain with stone on steep slopes, then switch to height bands.

Try the mountain below. You control where stone is selected. Transition areas mix sandstone and stone blocks by proportion, rather than blending their colors, just as in the game.

Web demo · sandstone and stone

Wire it up in the game

Continuous Height Noise World Slope Weight Weighted Material Mix Apply Material Output
  1. Connect Continuous Height Noise to Continuous Field Terrain to create the shape. Also connect the same field to World Slope Weight to compute slope.
  2. Add two Block Material nodes: sandstone (A) and stone (B). Connect A, B and the slope weight to Weighted Material Mix.
  3. Connect the terrain and mixed material to Apply Material, then Output.
  4. Set minimum slope 30, maximum 90, feather 5. Above 30° selects stone, below 25° stays sandstone, and the interval between mixes both.

Switch to height bands

Replace World Slope Weight with World Height Weight on the same field. With Y min 78, max 86, feather 4, 78–86 is stone, 74–78 and 86–90 are mixed, and the rest is sandstone. This selects a band, not “higher means more B”. To cover the summit, set max Y above it.

These are world coordinates. Moving the terrain vertically changes where the band crosses it. Entering 78 in the UI means 78 blocks.

Make the transition more distinct

Insert Weight Remap before the material mix. The input range selects part of the original weights; the output range sets their strength: 0% selects A, 100% selects B. Invert Weight swaps them.

Drag sliders or enter exact values; confirm with Enter or by leaving the field. Right-click a parameter to copy, paste or reset its default.

Mask or weight?

Masks answer yes or no; weights express a 0–100% material preference. Use masks to cut areas or filter points, weights for soft material transitions. Mask to Weight converts an existing mask for mixing materials.

How do legacy heights connect to continuous fields?

Legacy heights describe relative shapes from 1–16, scaled to the output size; continuous fields use world units. Ports cannot connect directly. Use Legacy Height to Field for world weights, or Quantize Field to Legacy Height to return to terraces or thermal erosion, losing some continuous detail. Continuous terrain is also rounded to blocks, so tiny changes may not alter its shape.

What success looks like

Steep slopes are stone, flat ground sandstone, with mixed blocks between. If everything has one material, adjust thresholds to the terrain’s actual range.

Materials are set. Refine the surface next

Slabs, stairs and surface layers

By the end of this section

Add half-block steps at the edges and a surface layer different from the interior.

Shape first, material second. Slabs and stairs change geometry; Surface Paint changes only material. This cutaway exposes the interior.

Web demo · cross-section

Stone Sandstone (surface)

Terrain plan Surface Slabs Surface Paint Output
Node Effect Where to look
Surface Slabs Replaces top blocks with bottom slabs. High Edges Only affects the edges; All Top Faces affects every top block. Look from the side for half-block steps
Surface Stairs Places straight stairs based on neighboring height differences, measured in half blocks. Check the shape and orientation along the slope
Shave, Raise, Refine Remove small peaks, fill small pits, or combine both and tidy the stairs. Check whether the slope looks smoother
Surface Paint Changes material, not height. Depth 1–4 counts surface layers; Whole Column runs from top to bottom. Look from the side or in section; depth is hidden from above

Six block families support slabs and stairs: stone, sandstone, cobblestone, stone bricks, bricks and oak planks. The grass palette uses stone for refined areas. These nodes accept terrain plans, not tree or house instance plans.

Use a small area while experimenting. Small previews are solid; large ones may show only surfaces. Place the result and inspect front and sides before judging the interior.

What success looks like

After Surface Paint, slabs and stairs keep their shape; only their surface material changes.

The terrain is ready. Put something on it

Place assets on node-generated points

By the end of this section

Arrange a group of trees in a ring, then a row, without changing the assets.

Modeling placements answer two questions: what to place (asset source) and where to place it (point set). Instantiate joins them, placing once per point. Try changing the asset and the points independently below.

Web demo · top view
Instance count 12

Asset Source Instantiate Output Connect points to Instantiate’s second input
  1. Add Asset Source and choose a single, group or cluster from a personal or server library.
  2. Add a point node: Grid, Path or Ring for regular layouts; Brush Distribution for brush-like controls.
  3. Connect the source and points to Instantiate, then Output. For several different sources, build separate branches and join them with Merge Instance Plans.
  4. Adjust point parameters and watch the ghost. Moving or spreading points changes positions, not asset sizes.
  5. Save the program to keep connections, parameters and asset references.

If the layout cannot fit, the game rejects the values, explains why and keeps the previous ones. Reduce count or spacing. Brush Distribution accepts center points and an area mask; all centers share one count limit.

What success looks like

Changing points preserves the assets; changing assets preserves the positions.

Happy with your work? Save it

Save and share

By the end of this section

Save a program and understand what publishing to a server means.

Content What is saved Where to use it
Single BP Block structures such as trees or houses Readable by VoxelWeave and Axiom’s local blueprint library
Groups and clusters Members, weights and processing recipes VoxelWeave brushes or Asset Source in Modeling
Program Modeling nodes, connections, parameters and references VoxelWeave Modeling

Save locally

Use Save to Personal in Brush, or Save Program in Modeling. Files go in the Axiom blueprint directory’s VoxelWeave folder, normally at config/axiom/blueprints/VoxelWeave . It is created on first use. If you moved Axiom’s blueprint folder, use its actual location.

  • Saving again updates the current program and keeps older versions in history.
  • A new program with the same name asks which one to overwrite or lets you save a numbered copy.
  • Right-click a program in the list to rename or delete it. Deleted files move to VoxelWeave/.trash/models instead of being erased immediately.

Sharing local BPs with Axiom

  1. Put native BP files in the local blueprint library’s VoxelWeave subfolder, then refresh both libraries.
  2. Check that the single previews and places correctly before using it in a group or program.
  3. Convert SCH files to BP through Import / Convert in the asset library. Keep the originals and check blocks and orientation afterward.

Axiom cannot read groups, clusters or programs even in the same folder as BPs. To turn a program’s result into BP, place it in the world, then select and save it with Axiom.

Uploading to the server means publishing

On a server with the matching plugin, choose Save to Server (Public). Before doing so, know these three things:

All players can reference it

Personal BPs used by a group or cluster are published too. Official presets are personal-only; replace them with your own BPs before publishing.

The author can withdraw it

After withdrawal, other players can no longer fetch or use that server reference.

You edit a working copy

Everyone, including the author, edits a working copy after referencing it; the published original stays unchanged.

Browse the server library by type or search asset names, player names or UUIDs. Reference a result in your brush or program to continue building.

What success looks like

Leave the world and return. The saved program remains in your personal list with its connections and parameters intact.

Basics done. Read on if you want help from a model

Let AI help with your first draft

An optional advanced section

Everything before this works without it. You do not need a model to use VoxelWeave.

Be specific: “Make low terraced hills, sandstone on flat areas and stone on steep slopes.” You can edit the resulting draft like any hand-built graph. You still confirm placement yourself.

Configure the API in the game

  1. Enter an editable single-player world or a paired server. In the AI panel, fill endpoint, model and key. Use the full Chat Completions endpoint, usually ending in /chat/completions .
  2. Save the API settings, then describe the desired size, materials and shape.
  3. Click Review Payload and inspect what will be sent. Then confirm sending; the provider may charge for the request.
  4. When the draft arrives, click Accept to add it to Modeling. If it uses assets, bind the desired source locally first.
  5. Inspect the ghost, adjust parameters, then place with Enter Place it.
Request failed with 401, 404 or 429

For 401/403, check key permissions; for 404, endpoint and model name; for 429, your provider quota. For invalid draft JSON, request a simpler graph and add one node at a time.

Connect an external agent over MCP

  1. Enter a world and click MCP On in the AI panel. Enable Allow Agent to Edit Local Graph/Preview for direct editing; otherwise it can only submit drafts for review.
  2. Copy the MCP address. Add an HTTP server in your agent’s MCP settings with that URL and authorization header. Keep the token out of chats and game servers.
  3. Ask the agent to read the current world and graph first, then describe your goal. You can copy the request below.
  4. Return to the game, inspect and adjust the ghost, then press Enter or click Apply.

Read my current world and modeling graph first. Help me make broad, low terraced hills, with sandstone on gentle ground and stone on steep slopes. Show a ghost preview first so I can adjust it.

Cannot reconnect after restarting the game?

Restart MCP and copy its settings again. The port and token may change each time; update them in your agent too.

Does it work on servers?

Yes, with the matching plugin and pairing. An agent can prepare actions such as player commands, but you review and confirm them in the AI panel. Commands run as you, with your permissions, not console access. This does not expose every FAWE or Axiom feature.

How large can an AI draft be?

A draft supports up to 16 nodes and 24 connections. For a more complex result, ask for the main structure first, then extend it manually.

Find a node

Start with common nodes and wire a simple chain. Later, browse the game’s categories or search for what you want to do.

Common nodes

Graph mouse controls and shortcuts
Left-click Select and drag nodes
Drag a port Connect
Drag empty space Box-select nodes
Right-click or Tab Search and add nodes
Ctrl + C / V Copy / paste
Delete Delete selection
Middle-button drag Pan canvas
Mouse wheel Zoom
F Fit all nodes in view

Concepts that are easy to mix up

These two concepts Difference Which to use
Brush / Modeling Brush right-click places immediately; Modeling right-click pins the ghost and Enter places it. Use Brush to scatter assets; Modeling for computed shapes and layouts.
Single / Group / Cluster / Program Singles hold blocks; groups and clusters select assets; programs hold modeling graphs. Only single BPs can be read directly by Axiom.
Asset Source / Point Set The asset says what; the points say where. Use both, joined by Instantiate.
Legacy Height / Continuous World Height Legacy height is relative, 1–16; continuous fields use world units. Legacy heights for terraces and erosion; continuous fields for world-Y or slope coloring. Connect through conversions.
Mask / Continuous Weight Masks are yes/no; weights range from 0% to 100%. Masks cut areas and filter points; weights blend materials.
Terrace Height / Surface Stairs The first changes the silhouette; the second replaces surface blocks with stairs. Shape the terrain first, then refine its surface.

When something goes wrong

Game fails to start

Remove any old SchematicStudio installed alongside VoxelWeave. Check Minecraft and Axiom versions match. If it still fails, keep the startup log and crash report.

Fewer placements than requested

Count is a limit. Increase radius or reduce spacing, and check whether the mask excludes most of the area.

No ghost preview

Check connections to Output and access to the asset, then retry smaller. Server assets also need downloading and parsing. If it persists, record the asset, source, settings and error instead of repeatedly placing.

Enter does nothing after changing Y

Finish typing, click the canvas and try Apply. Read the panel message: world height checks use the model’s full occupied range, not just center Y. World borders and server permissions also apply.

Everything becomes one material

Check whether all heights lie outside or inside the selected band, and whether you used a world field or legacy height. Try two distinct materials with thresholds inside the actual terrain range.

The ghost looks hollow

Large previews draw surfaces or simplified outlines. Place a small sample and inspect the sides and inside before assuming blocks are missing.

Blueprint import fails

Each blueprint supports up to 262,144 blocks and a 64 MiB file. Split larger ones before importing.

Some nodes do not work on the server

Test personal assets and local modeling in single-player first. Server assets and FAWE, ezEdits or Arceon nodes depend on installed plugins and permissions. Include the server and asset source when reporting problems.