Skip to content

Generators

The Generators shelf holds 33 generators. All of them work on the model you are editing. Add keeps what is there and Replace starts over, and each press is one undo step. See the Generators guide for how to combine them.

Lumpy rocks adrift in the whole model, or a belt of them

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same rocks
Arrangement Enum: Field, Belt FIELD Through the whole model, or a belt
Count Int 40 How many asteroids to aim for
Size Float 8.0 How big the biggest asteroid is, in voxels
Ore Float 0.3 What fraction of asteroids carry streaks of ore
Rock Int 252 Palette index for the rock
Ore Int 11 Palette index for the ore streaks

A bridge across the river, or else over the narrowest gap it can find - stone, wood, rope or a moon bridge

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 Kept for the shelf’s re-roll; a bridge is decided by the ground
Style Enum: Stone Arches, Wooden, Rope, Moon Bridge STONE What the bridge is built like
Direction Enum: Along X, Along Y X Which way the bridge runs
Width Int 3 How wide the deck is, in voxels
Height Int 6 Arch rise, sag, or a moon bridge’s hump
Min Depth Int 2 How deep a dip must be to need a bridge
Min Span Int 6 The shortest gap worth bridging
Deck Int 95 Palette index for the deck
Rails Int 137 Palette index for the rails
Piers Int 252 Palette index for piers and posts

Houses, a whole village, a castle or a pier, standing on the ground

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always build the same
Build Enum: One Building, Village, Castle, Pier ONE What to build
Houses Int 8 How many houses a village aims for
Spacing Int 18 Roughly how far apart the houses stand, in voxels
Max Slope Int 1 How uneven a plot may be and still be built on
Smallest Int 7 The narrowest a house may be, in voxels
Largest Int 11 The widest a house may be, in voxels
Storeys Int 2 The most floors a house may have
Storey Height Int 4 How tall one floor is, in voxels
Roof Enum: Pitched, Hipped, Flat PITCHED The shape of the roofs
Window Spacing Int 3 Voxels between windows along a wall
Chimneys Boolean True Put a chimney on some of the pitched roofs
Castle Size Float 0.6 How wide the curtain wall is, as a fraction of the model
Water Level Float 0.15 Where the water is, for a pier to stand over
Pier Length Float 0.25 How far the pier reaches, as a fraction of the model
Paths Boolean True Join the doors with paths (village and castle)
Path Width Float 2.0 How wide those paths are, in voxels
Path Int 95 Palette index for the paths
Walls Int 247 Palette index for the walls
Timber Int 137 Palette index for floors, corners, plinths and posts
Roof Int 101 Palette index for the roofs (and a pier’s deck)
Doors Int 95 Palette index for the doors
Windows Int 164 Palette index for the window panes

Tunnels and caverns carved under the surface - or a cave block cut from solid rock when the model is empty

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always carve the same caves
Carve Enum: Whole Model, Active Group MODEL Whether to carve the whole model or only the active group
Style Enum: Tunnels, Caverns, Both BOTH Passages, chambers, or both
Tunnel Spacing Float 32.0 Roughly how far apart the passages run, in voxels
Tunnel Width Float 3.0 How wide a passage is, in voxels
Cavern Size Float 14.0 How big a chamber is, in voxels
Caverns Float 0.08 How much of the rock is hollowed into chambers
Cover Int 3 Voxels under the surface that are never carved, so the caves stay underground. 0 lets them break the surface
Openings Float 0.15 How much of the surface the caves may break through - entrances
Keep Bottom Int 1 Layers at the bottom of the grid that are never carved
Solid Rock Boolean True On an empty model, fill the grid with rock first and carve the caves out of it
Rock Int 251 Palette index for the rock of a solid cave block
Colour Walls Boolean True Repaint the rock around the hollows
Wall Colour Int 253 Palette index for the cave walls
Wall Depth Int 1 How deep the wall colour reaches into the rock
Stalactites Boolean True Hang stalactites from the cave ceilings
Stalactite Colour Int 252 Palette index for the stalactites
Stalactite Density Float 0.12 What fraction of the ceiling grows a stalactite
Stalactite Length Int 4 Longest a stalactite hangs, in voxels

A street grid of towers, offices and houses on a levelled site

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always build the same city
Style Enum: Modern, Sci-fi, Medieval MODERN What the city is built like
City Size Float 0.9 How much of the model the city covers
Block Size Int 20 How wide a block between roads is, in voxels
Road Width Int 4 How wide the roads are, in voxels
Lot Size Int 10 How wide one building’s plot is, in voxels
Max Floors Int 20 The tallest a tower may be, in storeys
Storey Height Int 3 How tall one storey is, in voxels
Downtown Float 0.7 How strongly the tall buildings gather in the middle
Parks Float 0.12 What fraction of the lots are parks
Road Int 173 Palette index for the roads
Pavement Int 248 Palette index for the pavements
Markings Int 11 Palette index for road markings
Park Int 161 Palette index for park grass
Facade 1 Int 247 Palette index for one facade colour
Facade 2 Int 44 Palette index for another facade colour
Facade 3 Int 9 Palette index for a third facade colour
Trim Int 252 Palette index for rooftop plant and trim
Roofs Int 253 Palette index for the roofs
Doors Int 95 Palette index for the doors
Glass Int 115 Palette index for the windows
Glow Int 109 Palette index for sci-fi light bands
Ground If Empty Boolean True On an empty model, lay a site to build on
Ground Int 252 Palette index for the levelled ground

Puffy clouds on level bases, or a ragged layer of cloud from 3D noise

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Style Enum: Puffs, Layer PUFFS Puffy heaps, or a ragged layer of weather
Seed Int 1 The same seed and settings always give the same sky
Coverage Float 0.35 How much of the layer is cloud. Read off the field as a quantile, so it means the same at any detail setting
Puff Size Float 24.0 How wide one puff is, in voxels
Detail Int 4 Layers of noise. Each adds detail half the size of the last
Roughness Float 0.5 How much the fine layers count. Low is smooth, high is wispy
Altitude Float 0.72 Where the middle of the cloud layer sits in the grid
Thickness Float 0.18 How deep the layer is, as a fraction of the grid
Flat Base Float 0.7 Cut the undersides level, the way real cumulus sit on their condensation height, and let the tops break up
Core Float 0.12 How far inside the cloud the second colour starts
Shade Float 0.35 How far up each cloud its second colour reaches, from the underside. 0 is one colour all over

Repaint the voxels already there along a ramp between two palette colours

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 Change for a different scatter of the dither
Scope Enum: Whole Model, Active Group MODEL Which voxels get repainted
Direction Enum: X, Y, Z, Radial, Spherical Z Which way the ramp runs
Fit Enum: What It Paints, Whole Model SCOPE What the ramp is measured across
First Int 1 Palette index the ramp starts at
Last Int 8 Palette index the ramp ends at. Every index between the two is used, which is what makes a palette’s own ramp the thing to pick
Reverse Boolean False Run the ramp the other way without swapping the colours
Steps Int 0 Flatten the ramp into this many bands for a posterised look. 0 uses every index between the two
Bias Float 1.0 Bend the ramp without moving its ends. Below 1 holds the first colour longer, above 1 the last
Dither Float 0.0 Mix the neighbouring colours along the ramp, so it breaks into a dither instead of banding into hard stripes

Repaint the voxels already there from a weighted set of palette colours

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 Change for a different scatter of the same colours
Scope Enum: Whole Model, Active Group MODEL Which voxels get repainted
Pattern Enum: Per Voxel, Patches, Bands PER_VOXEL How the colours are spread across the voxels
Patch Size Float 6.0 Voxels across one blotch of a single colour
Band Height Float 4.0 Voxels of altitude one stratum covers
colors Collection
Active Int 0

Branching, brain, fan and tube coral and kelp on the seabed

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same reef
Spacing Int 8 Voxels between colonies
Density Float 0.8 What fraction of the spots grow something
Size Float 8.0 How big a colony is, in voxels
Kelp Float 0.25 What fraction of the spots grow kelp instead
Water Int 164 The water’s surface colour, so it can be grown into
Deep Water Int 171 The deep water’s colour
Coral 1 Int 55 Palette index for one coral colour
Coral 2 Int 17 Palette index for another coral colour
Coral 3 Int 91 Palette index for a third coral colour
Kelp Int 125 Palette index for the kelp

Impact bowls with raised rims and dark ejecta

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same craters
Craters Int 12 How many craters
Size Float 0.15 The biggest crater’s width, as a fraction of the model
Depth Float 0.35 How deep a crater is, for its radius
Rim Float 0.25 How high the rim stands, for its radius
Ejecta Float 0.5 How much dark thrown dirt lies round each crater
Rim Int 252 Palette index for raised rims
Ejecta Int 254 Palette index for the thrown dirt
Ground If Empty Boolean True On an empty model, lay ground to strike
Ground Int 251 Palette index for that ground

Clusters of pointed crystals growing from floors, walls and ceilings

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always grow the same crystals
Grow On Enum: Whole Model, Active Group MODEL The whole model, or only the active group
Faces Enum: All Faces, Floors, Ceilings, Walls ALL Which faces crystals grow from
Density Float 0.01 What fraction of the open faces grow a cluster
Size Float 8.0 How long the biggest crystal in a cluster is, in voxels
Per Cluster Int 5 How many crystals grow from one base
Splay Float 0.5 How far the crystals in a cluster lean apart
Crystal Int 115 Palette index for the crystals
Tip Int 109 Palette index for the crystal tips

Knock bites out of walls, crumble their tops and pit the surface - a ruin from a building

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always break the same pieces
Damage Enum: Whole Model, Active Group MODEL Whether to damage the whole model or only the active group
Bites Float 0.35 How much of the surface is bitten away in chunks. 0 takes no bites
Bite Size Float 6.0 How big a missing chunk is, in voxels
Reach Int 3 How deep a bite can go in from the surface. Deeper than the wall is thick and it goes right through
Crumble Int 2 How many voxels a wall top can lose, so tops come out ragged. 0 leaves the tops level
Crumble Size Float 8.0 How long a run of a wall breaks off together, in voxels
Pits Float 0.06 What fraction of the exposed voxels are pocked out one at a time - weathering
Keep Bottom Int 1 Layers at the bottom of the grid that are never touched, so the ground stays under the ruin
Effect Enum: Break Off, Paint Only REMOVE Whether the damaged voxels are knocked out or only painted
Damage Colour Int 254 Palette index the damaged voxels are painted with
Colour Edges Boolean False Repaint the voxels left around each piece of damage, so fresh breaks show a different stone from the weathered face
Edge Colour Int 253 Palette index for the voxels around the damage
Edge Depth Int 1 How many voxels deep the edge colour reaches from the damage

Rooms and the corridors between them, with walls and a floor

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same dungeon
Rooms Int 8 How many rooms to aim for. An upper bound, not a promise: the split stops when a half can no longer hold two
Smallest Int 7 Narrowest a room may be, in voxels
Largest Int 16 Widest a room may be, in voxels
Spacing Int 1 Rock left between a room and the edge of the space it was given, so two rooms are never wall to wall
Corridor Int 3 How wide the corridors between rooms are
Wall Int 1 How thick the walls are
Wall Height Int 6 How tall the walls stand above the floor
Floor Int 1 How thick the floor slab is
Loops Float 0.25 Extra corridors joining rooms that are already near each other. At 0 there is exactly one route between any two rooms, which reads as a maze rather than a building
Roof Boolean False Close it over with a ceiling. Off by default because a roofed dungeon cannot be seen into while you work on it
Thickness Int 1 How thick the ceiling slab is
A Group Per Room Boolean False Give each room its own group, so the rooms come out as separate parts. The floor of a room is what belongs to it - walls and roof are shared with what is on the other side of them

Corridors and walls: a perfect maze, or a braided one with loops

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same maze
Corridor Int 3 How wide a corridor is, in voxels
Wall Int 1 How thick a wall is, in voxels
Wall Height Int 6 How tall the walls stand above the floor
Floor Int 1 How thick the floor is. 0 leaves the corridors open below
Braid Float 0.0 Open this fraction of the dead ends, putting loops back in. 0 is a perfect maze with exactly one route through
Entrance and Exit Boolean True Cut a way in and a way out through the outer wall

Pyramids, temples, pagodas, stone circles, obelisks and rock arches

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always build the same
Monument Enum: Stepped Pyramid, Smooth Pyramid, Temple, Pagoda, Stone Circle, Obelisk, Rock Arch STEPPED What to build
Arrangement Enum: One, Row ONE One, or a row getting smaller
Count Int 3 How many in a row
Size Float 0.5 How wide the biggest one is, as a fraction of the model
Weathered Float 0.0 How broken with age it is
Stone Int 44 Palette index for the stone
Trim Int 252 Palette index for steps, ledges and lintels
Roof Int 101 Palette index for roofs and eaves
Accent Int 53 Palette index for stairs, capstones and shrines

Seams of ore colour threaded through the rock

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same veins
Paint Enum: Whole Model, Active Group MODEL The whole model, or only the active group
Spacing Float 20.0 Roughly how far apart the seams run, in voxels
Thickness Float 1.5 How thick a seam is, in voxels
Ores Int 3 How many kinds of ore
Ore 1 Int 11 Palette index for the first ore
Ore 2 Int 94 Palette index for the second ore
Ore 3 Int 115 Palette index for the third ore
Share Float 1.0 How much of the veins are the first ore
Share Float 1.0 How much of the veins are the second ore
Share Float 0.5 How much of the veins are the third ore

Worn tracks joining points on the ground, or a patchwork of fields

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same layout
Style Enum: Paths, Fields PATHS Tracks between points, or a patchwork of fields
Where Enum: Whole Model, Active Group, Selection MODEL Paint over the whole model, the active group, or the selected voxels
Points Int 8 How many places the paths join up, spread evenly over the ground
Exits Int 3 How many paths run off the edge of the area, so the tracks lead somewhere
Loops Float 0.3 How many short cross-links are added, so the network is not a bare tree
Width Float 3.0 How wide a path is, in voxels
Wander Float 0.3 How much a path strays from the easiest line
Worn Down Boolean True Sink the path a voxel into the ground
Path Int 95 Palette index for the path
Field Size Float 20.0 Roughly how wide a field is, in voxels
Coverage Float 0.7 What fraction of the flat ground is farmed
Hedgerows Float 0.1 How wide the unfarmed strips between fields are
Field A Int 131 Palette index for one kind of field
Field B Int 125 Palette index for another kind of field
Field C Int 47 Palette index for a third kind of field
Furrows Boolean True Stripe each field with furrows
Furrow Int 137 Palette index for the furrows, when they do not match the crop
Match Crop Boolean True Draw each field’s furrows in a darker shade of its own crop colour, taken from the palette, instead of one furrow colour for every field
Row Spacing Int 4 A furrow line every this many voxels
Ground If Empty Boolean True On an empty model, lay a slab of ground to paint on
Ground Int 161 Palette index for that ground

Turn an image into voxels: a flat picture, or a solid carved from front, side and top views

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Make Enum: Flat Picture, Carve From Views PLANE Whether the picture becomes a slab or cuts a solid
Picture Pointer The image to turn into voxels
Standing In Enum: Front (XZ), Side (YZ), Top (XY) FRONT Which way the picture faces
Thickness Int 1 How many voxels deep the picture is extruded
Front Pointer Seen down -Y: across is X, up is Z
Side Pointer Seen down -X: across is Y, up is Z
Top Pointer Seen from above: across is X, up is Y
Colour From Enum: First View, Front (XZ), Side (YZ), Top (XY) AUTO Which view paints the solid. The others decide its shape but not its colour - a voxel can only have one
Width Int 32 Voxels across. Everything else follows from it and the picture’s own proportions, so a picture never comes out stretched
Sampling Enum: Nearest, Average NEAREST How pixels are shared out between voxels
Mirror Boolean False Flip the picture left to right. Worth reaching for on the side view, which is seen from -X and so runs the opposite way round from how it was probably drawn
On The Floor Boolean True Stand the picture on the bottom of the grid rather than centring it in Z, so it lands where terrain would
Offset Int (0, 0, 0) Nudge the picture off centre, in voxels
Alpha Cutoff Float 0.5 Pixels less opaque than this leave a hole. 1.0 keeps only what is fully opaque
Key Colour Boolean False Also cut out one colour, for a picture with no alpha to read - which is every JPEG and most screenshots
Key Float (0.0, 1.0, 0.0) The colour to treat as background
Tolerance Float 0.1 How far from the key colour still counts as background
Colours Enum: Match Palette, Build From Picture MATCH Where the voxels’ palette indices come from
Colour Count Int 32 How many palette entries the picture is reduced to. Only entries no voxel is using are written

A round world with continents, seas and ice caps

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same world
Size Float 0.8 The world’s diameter, as a fraction of the model
Relief Float 0.12 How high the mountains stand, as a fraction of the radius
Continent Size Float 0.35 How big the continents are, as a fraction of the radius
Seas Boolean True Fill the low ground with sea
Sea Level Float 0.5 How much of the land the sea covers
Crust Int 6 Fill only this many voxels under the surface. 0 fills it solid
Ice Int 246 Palette index for poles and peaks
Rock Int 251 Palette index for mountains and under the soil
Grass Int 161 Palette index for the lowlands
Sand Int 45 Palette index for the shores
Sea Int 164 Palette index for the sea’s surface
Deep Sea Int 171 Palette index for the deep sea
Core Int 253 Palette index for the rock deep inside

A flat-topped block of land with cliff sides - one arena-sized piece of level

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same platform
Shape Enum: Square, Round, Irregular SQUARE The outline of the block
Size Float 0.8 How much of the grid’s shorter side the block spans
Corners Float 0.25 How far the corners are rounded off
Ragged Edge Float 0.15 How much the edge wanders, on the Irregular shape
Altitude Float 0.62 Where the walking surface sits, as a fraction of the grid
Body Float 0.3 How thick the straight-sided body is, as a fraction of the grid
Taper Float 0.6 How far below the body the underside narrows to its point
Roughness Float 0.5 How ragged the underside is
Soil Int 2 How many voxels of soil lie under the grass
Courses Int 4 How tall a course of the cliff is, in voxels
Grass Tiles Int 4 How wide a tile of the grass pattern is, in voxels
Grass Lip Int 3 How far the grass hangs over the cliff edge
Grass Int 161 Palette index for the top
Grass 2 Int 125 Palette index for the second shade of grass
Soil Int 131 Palette index for the soil under the grass
Cliff Int 45 Palette index for the blocks of the cliff
Cliff 2 Int 9 Palette index for the second shade of cliff block
Seams Int 95 Palette index for the lines between the courses
Deep Rock Int 253 Palette index for the rock low down and underneath

A river carved across the ground from one side to the other

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same river
Direction Enum: Along X, Along Y X Which sides of the model the river runs between
Width Float 6.0 How wide the water is, in voxels
Depth Int 3 How deep the channel is in the middle, in voxels
Banks Float 4.0 How far either side the ground is cut back to the water
Meander Float 0.5 How much the river winds. 0 takes the lowest line
Water Int 164 Palette index for the water’s surface
Deep Water Int 171 Palette index for the water under the surface
Bank Int 45 Palette index for the cut banks
River Bed Int 131 Palette index for the bottom of the channel
Ground If Empty Boolean True On an empty model, lay a slab of ground to cut the river into
Ground Int 161 Palette index for that ground

Boulders - one hero rock, or a field of them over the surface

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same rocks
Arrangement Enum: One Rock, Boulder Field FIELD One boulder in the middle, or a field of them
Spacing Int 14 Voxels between rocks. There is at most one in each square this wide
Density Float 0.7 What fraction of the possible spots get a rock. Turning this down removes rocks and leaves the rest as they were
Jitter Float 1.0 How far each rock may wander inside its own square
Max Slope Int 3 Steepest ground to rest on, as the height step to the next voxel along
From Float 0.0 Lowest ground to rest on, as a fraction of grid height
To Float 1.0 Highest ground to rest on, as a fraction of grid height
Size Float 10.0 How wide a rock is, in voxels
Size Variation Float 0.4 How much the size of each rock may differ from the rest
Squash Float 0.7 How tall a rock is for its width. 1 is as tall as it is wide, lower is a flatter slab
Roughness Float 0.35 How far the surface is pushed in and out. 0 is a smooth egg
Facets Int 3 Flat faces cut into each rock. A few make it read as stone; none leaves it rounded
Strata Int 0 Paint a band of the second colour every this many voxels up the rock. 0 for one colour throughout
Sink Int 1 Voxels to bury each rock by, so it sits in the ground
Random Turns Boolean True Turn each rock a random quarter turn about Z
Rock Int 251 Palette index for the rock
Strata Int 253 Palette index for the strata bands

Plant library shapes over the model - trees, rocks, flowers, props

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Shapes Enum: Folder, Chosen Shapes FOLDER Where the shapes to plant come from
Folder String preset:Nature/Trees The folder to take shapes from, subfolders included
shapes Collection
Active Shape Int 0
Seed Int 1 The same seed and settings always plant the same things
Spacing Int 12 Voxels between plantings. There is at most one in each square this wide, so nothing lands on top of anything else
Jitter Float 1.0 How far each planting may wander inside its own square. 0 is a regular grid - an orchard rather than a wood
Density Float 1.0 What fraction of the possible spots to use. Turning this down removes plantings and leaves the rest where they were
Plant On Enum: Top, All Floors TOP The top of the model, or every floor with room above it
Plant In Enum: Whole Model, Selection MODEL Where on the model plantings are allowed
Max Slope Int 2 Steepest ground to plant on, as the height step to the next voxel along. 0 plants only on the flat
From Float 0.0 Lowest ground to plant on, as a fraction of grid height
To Float 1.0 Highest ground to plant on, as a fraction of grid height
Sink Int 0 Voxels to bury each shape by, so it sits in the ground rather than on it
Size Int 8 Size a procedural shape is generated at. A saved shape ignores this and comes in at the size it was made
Size Variation Float 0.0 How much the size of each planting may differ from the rest
Random Turns Boolean True Turn each shape a random quarter turn about Z. Free and exact on a voxel grid - no voxel moves off the lattice
Random Mirror Boolean False Mirror half of them, for shapes that are not symmetrical
Keep Shape Colours Boolean True Plant each shape in the colours it was saved with. Turn off to paint them all one colour
Colour Int 1 Palette index to paint the shapes when not keeping theirs

A whole scene in one press - ground, rocks, trees, weathering, water and sky, from a preset

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Scene Enum: Highlands, Island, Canyon, Forest, Winter, Ruins, Swamp, Desert Oasis, Volcano, River Valley, Crystal Cavern, Mine, Mushroom Grotto, Village, Farm, Harbour, Graveyard, Floating Islands, Castle, Modern City, Space, Tiny Planet, Sci-fi Colony, Coral Reef, Pirate Cove, Frozen Lake, Jungle Temple, Egyptian Desert, Stonehenge Moor, Zen Garden, Mountain Pass, Walled Town, Battlefield HIGHLANDS What kind of scene to build
Seed Int 1 One number for the whole scene: every step is seeded from it
Sea Level Float 0.15 How high the water comes, as a fraction of the grid. 0 for none
Vegetation Float 0.6 How many trees and vines. 0 for none
Rocks Float 0.5 How many rocks. 0 for none
Clouds Boolean True Put a few clouds in the sky
Weathering Boolean True Snow, moss and grime, as the scene calls for
Cutaway Boolean True Open the front of underground scenes, so you can see into the caves
Water Colours Boolean True Give the water palette entries a water surface, so the sea renders as water

A galleon, sloop or rowboat afloat on the water, or wrecked below it

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same ship
Ship Enum: Galleon, Sloop, Rowboat GALLEON What kind of ship
Length Float 0.35 How long the ship is, as a fraction of the model
Wreck Boolean False Lay it broken on the seabed instead
Water Int 164 The water’s surface colour, to find the sea
Deep Water Int 171 The deep water’s colour
Hull Int 95 Palette index for the hull
Deck Int 137 Palette index for the deck
Masts Int 137 Palette index for masts and spars
Sails Int 247 Palette index for the sails and windows
Trim Int 101 Palette index for the rails

Floating islands with grassy tops, rocky undersides and waterfalls

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same islands
Island Size Float 40.0 Roughly how wide an island is, in voxels
Density Float 0.6 What fraction of the sky holds an island
Gap Float 0.12 How far apart neighbouring islands stay
Altitude Float 0.6 How high the island tops sit, as a fraction of the grid
Height Variation Float 0.12 How much higher or lower each island may sit
Underside Float 0.35 How far the rock under an island hangs, as a fraction of the grid
Roughness Float 0.5 How ragged the undersides are
Waterfalls Boolean True Pour water off the edge of some islands
Waterfall Chance Float 0.5 What fraction of islands have a waterfall
Grass Int 161 Palette index for the island tops
Soil Int 131 Palette index for the soil under the grass
Rock Int 251 Palette index for the undersides
Water Int 164 Palette index for the waterfalls

Bricks, tiles, checker and weave, painted over the model you have

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 Change for a different scatter of weathered cells
Scope Enum: Whole Model, Active Group MODEL Which voxels get the pattern
Pattern Enum: Bricks, Tiles, Checker, Stripes, Diagonal, Weave, Raked Sand BRICKS Which pattern to paint
Facing Enum: Floor (Z), Wall (Y), Wall (X) 1 The plane the pattern lies in. A pattern is flat and runs right through the model, so a wall shows the same courses on both faces
Width Int 6 Voxels across one brick, tile or stripe
Height Int 3 Voxels up one course
Grout Int 1 Voxels of the second colour between them
Row Offset Float 0.5 How far each course is shifted from the one below, as a fraction of a brick. Half is a running bond
Weathering Float 0.0 Fraction of whole bricks that take the grout colour instead, for a wall that is not brand new
Keep Model Colour Boolean True Leave the bricks whatever colour they already are and only paint the grout. This is usually what you want: it puts mortar lines on the wall you have already built
Pattern Int 1 Palette index for the bricks, tiles or stripes
Grout Int 253 Palette index for what lies between them

Rolling ground from noise, placed peaks, or a heightmap image

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same landscape
Hill Size Float 16.0 How wide a hill is, in voxels. The one setting measured in voxels rather than as a fraction of the grid
Ground Level Float 0.15 Height the lowest ground sits at, as a fraction of the grid. Black in a heightmap lands here
Hill Height Float 0.35 How far the highest point rises above the ground level, as a fraction of the grid. With a heightmap this is the vertical scale: what pure white is worth
Detail Int 4 Layers of noise. Each one adds detail half the size of the last
Roughness Float 0.5 How much the fine layers count. Low is rolling hills, high is broken rock
Terraces Int 0 Flatten the height into this many steps. 0 leaves it smooth. Shapes generated noise; never applied to a heightmap
Island Float 0.0 Sink the ground towards the grid walls, so it ends in shoreline rather than running off the edge. Shapes generated noise; never applied to a heightmap
Wind Float 30.0 Which way the wind blows, in degrees. Dune crests lie across it
Crater Size Float 0.28 How wide the crater is, as a fraction of the volcano
Crater Depth Float 0.35 How far the crater floor sits below its rim
Basin Float 0.0 Dig a round hollow in the middle, this fraction of the grid deep - somewhere for a lake. Never applied to a heightmap
Basin Size Float 0.3 How wide the basin is, as a fraction of the grid
Crust Int 0 Fill only this many voxels below the surface, leaving the ground hollow. 0 fills solid to the floor
Skin Int 1 How many voxels down the surface colour reaches
Source Enum: Noise, Peaks, Dunes, Volcano, Heightmap NOISE Where the height of each column comes from
Peakiness Float 1.0 Push the low ground down while leaving the summits alone. At 1 the whole map is hills; at 3 it is mountains standing in flat ground
Peaks Int 2 How many mountains to place. Noise cannot be asked this
Peak Radius Float 0.3 How wide the foot of each mountain is, as a fraction of the grid
Slope Float 1.4 Shape of the side. 1 is a straight cone; higher is a rounded shoulder over a steeper foot
Spread Float 0.28 How far the summits sit from the middle of the grid
Variation Float 0.25 How much shorter the lesser summits may come out
Detail Noise Float 0.06 Noise mixed into the slopes so they are not billiard smooth
Heightmap Pointer Image read as height. Bright is high
Channel Enum: Luminance, Red, Green, Blue, Alpha LUMINANCE Which channel of the image carries the height
Fit Enum: Stretch, Fit, Crop STRETCH How an image that is not the grid’s shape is placed on it
Invert Boolean False Read dark as high instead of bright
Black Point Float 0.0 Image value that becomes the ground level
White Point Float 1.0 Image value that becomes the highest point
Smooth Int 0 Soften the image before reading it. An 8 bit heightmap has 256 steps, which terrace visibly on a tall grid

Branching trees, standing on whatever surface the model already has

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same trees
Count Int 1 How many trees to plant. More than one scatters them over the model’s surface; one stands in the middle
Height Float 24.0 How tall a tree is, in voxels
Variation Float 0.25 How much the heights differ from one tree to the next
Trunk Float 2.0 Radius of the trunk, in voxels
Branch Levels Int 3 How many times a branch forks. 0 is a bare trunk
Branch Angle Float 40.0 How far a branch turns away from the one it grew from
Length Ratio Float 0.72 How much shorter each branch is than its parent
Taper Float 0.62 How much thinner each branch is than its parent
Lean Float 0.15 How far from upright the whole tree tilts
Canopy Float 4.0 Radius of the leaf blob at each branch tip
Bare Boolean False Grow the branches with no leaves on them

Growth that clings to the model - hanging from ledges, climbing the walls, or creeping over the ground

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always grow the same vines
Style Enum: Hanging, Climbing, Creeping HANG Where the vines start and which way they grow
Spacing Int 8 Voxels between vines. One vine at most in each square this wide - measured along a wall for the wall styles
Density Float 1.0 What fraction of the possible starts grow a vine. Turning this down removes vines and leaves the rest where they were
Jitter Float 1.0 How far a creeping vine’s start may wander inside its square
Length Int 24 How many voxels a main stem grows. Forks are shorter
Wander Float 0.4 How much a vine strays from its direction. 0 is a straight line, 1 goes wherever it likes
Branching Float 0.15 How often a vine forks off a shorter side vine
Leaves Boolean True Hang leaves on the stem, in the leaf colour
Leafiness Float 0.5 How many of the stem’s voxels carry a leaf beside them
Thickness Int 1 Thicken the first part of each stem by the free cells beside it. 1 is a single strand; more makes a root or an old trunk
Dangle Int 4 How far a hanging vine may drop through the air past a ledge before it stops. 0 keeps it on the wall
Leaves Int 161 Palette index for the leaves
Stem Int 137 Palette index for the stems

A castle wall, field wall, palisade, fence or hedge round the model

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always give the same wall
Style Enum: Castle Wall, Dry Stone, Palisade, Fence, Hedge CASTLE What kind of wall
Where Enum: Model Edge, Ring EDGE Round the edge, or a ring round the middle
Ring Size Float 0.7 How big the ring is, as a fraction of the model
Margin Int 1 How far in from the edge
Height Int 8 How tall the wall is, in voxels
Thickness Int 2 How thick the wall is, in voxels
Tower Spacing Int 24 Voxels between a castle wall’s towers
Gate Int 4 How wide the gate in the -Y side is. 0 for none
Wall Int 251 Palette index for the wall
Top Int 252 Palette index for the top course, rails and caps
Towers Int 253 Palette index for a castle wall’s towers

Flood every empty space below a waterline - sea, lakes and puddles

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Water Level Float 0.35 Where the surface sits, as a fraction of the grid height, so the same number reads the same on a 40 and a 512 model
Depth Int 0 How many voxels deep the water goes below its surface. Zero fills all the way to the floor; a few voxels is enough for an ocean nobody swims in, and far cheaper
Surface Skin Int 1 How many voxels at the top take the surface colour
Frozen Boolean False Freeze the top of the water into ice
Ice Depth Int 2 How thick the ice is, in voxels
Ice Int 116 Palette index for the ice
Fill Enum: Everywhere, Middle Hollow ALL Where the water goes

Snow on the tops, moss on the shaded sides and grime in the crevices, painted over the model you have

Option Type Default What it does
Name String Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
Seed Int 1 The same seed and settings always weather the same way
Weather Enum: Whole Model, Active Group MODEL Whether to weather the whole model or only the active group
Snow Boolean True Paint snow on the tops, above the snow line
Snow Colour Int 248 Palette index for the snow
Snow Line Float 0.5 How high the snow starts, as a fraction of the grid height. 0 snows everywhere
Snow Cover Float 0.8 How much of the snowy ground is covered. 1 leaves no gaps
Snow Depth Int 1 How many voxels down from the top the snow reaches
Drift Size Float 10.0 How big the patches of snow and bare ground are, in voxels
Moss Boolean True Paint moss on the sides and under the overhangs
Moss Colour Int 167 Palette index for the moss
Facing Enum: All Sides, North, South, East, West, Tops NORTH Which sides the moss grows on. North is +Y
Moss Cover Float 0.5 How much of those sides is covered
Moss Height Float 1.0 Highest the moss grows, as a fraction of the grid height. 1 lets it grow everywhere
Patch Size Float 6.0 How big the patches of moss are, in voxels
Grime Boolean True Darken the crevices and inside corners
Grime Colour Int 254 Palette index for the grime
Grime Float 0.8 How open a crevice may be and still collect grime. 1 reaches almost to the flat faces
Crevice Size Int 2 How far around each voxel to look for enclosing walls