Node reference
Every node you can place in Massif Studio, what it takes, what it gives back, and what it does to your world.
225 nodes
Terrain55
- Absolute DensityReturns the absolute magnitude of a density.
- Base HeightHow far each position sits above a chosen height. Negate it for solid ground below that height.
- Cellular Noise 2DProduces bounded two-dimensional cellular distance noise.
- Cellular Noise 3DProduces bounded three-dimensional cellular distance noise.
- Chebyshev DistanceOutputs box-shaped maximum-axis distance from the world origin.
- Clamp DensityRestricts a density to an inclusive numeric range.
- Compare DensitiesCompares two density fields and emits an exact zero-or-one mask.
- Constant DensityProduces one scalar density everywhere.
- CoordinateOutputs the selected world-space X, Y, or Z coordinate in blocks.
- Cosine DensityApplies cosine to a density interpreted in radians.
- Curve MapRemaps a density through an editable piecewise-linear curve.
- Density CacheCaches a bounded density input for repeated sampling.
- Density StepTurns a continuous density into a threshold mask.
- Directional WarpDisplaces input sampling along an authored direction using another density.
- Distance to Biome EdgeMeasures native distance to the nearest biome boundary.
- ErodeCarves downhill gullies into a height field and locally rounds peaks or fills hollows.
- Euclidean DistanceOutputs straight-line distance from the world origin.
- Filtered Relative Cell ValueSamples relative cell values only where a second density accepts the cell.
- Floored ModuloRepeats a density over a positive period with non-negative output.
- Gradient AngleMeasures the angle between a density gradient and an authored direction.
- Gradient Field WarpDisplaces input sampling along the sampled gradient of another density.
- Jittered Cell Field 2DMeasures distance relationships to deterministic jittered 2D cell points.
- Jittered Cell Field 3DMeasures distance relationships to deterministic jittered 3D cell points.
- Jittered Cell TwistTwists an input around seeded cell centers using an editable angle curve.
- Jittered Cell ValueSamples an input once at each deterministic jittered 2D cell point.
- Jittered Relative Cell ValueSamples an input in coordinates relative to each jittered 2D cell point.
- Maximum DensityTakes the maximum of an ordered density list.
- Minimum DensityTakes the minimum of an ordered density list.
- Mix DensitiesBlends two densities using a third influence density.
- Multi MixInterpolates an ordered density palette across authored influence positions.
- Multiply DensitiesMultiplies an ordered list of densities.
- Negate DensityFlips the sign of a density input.
- Occurrence GateKeeps a density only for deterministic seeded occurrences.
- Octave Simplex 2DProduces layered two-dimensional simplex noise.
- Octave Simplex 3DProduces layered three-dimensional simplex noise for caves and overhangs.
- Offset DensityAdds one constant offset to a density field.
- OpenSimplex2 Domain WarpWarps input coordinates with bounded layered OpenSimplex2 gradients.
- Override CoordinateSamples a density with one world-space axis replaced by a fixed value.
- Ping-Pong DensityFolds a repeating density into a triangular zero-to-scale wave.
- Remap DensityLinearly maps one density range into another.
- Rotate CoordinatesSamples a density through an axis-angle coordinate rotation.
- Scale CoordinatesSamples a density through independently scaled world coordinates.
- Scale DensityMultiplies a density input by a constant factor.
- Signed PowerShapes a density curve while preserving its sign.
- Sine DensityApplies sine to a density interpreted in radians.
- Slope AngleMeasures terrain slope against an authored axis using native density samples.
- Smooth MaximumSmoothly combines the higher of two density fields.
- Smooth MinimumSmoothly combines the lower of two density fields.
- Subtract DensitiesSubtracts density B from density A.
- Sum DensitiesAdds an ordered list of density inputs.
- Translate CoordinatesSamples a density through offset world coordinates.
- Triangular Cell ValueSamples an input at the nearest point in a source-shaped twice-jittered triangular lattice.
- Vertical SampleSamples a density on regular Y levels using linear or nearest reconstruction.
- White NoiseProduces deterministic uncorrelated noise for palettes and sparse variation.
- Wrap DensityWraps a density into a finite half-open numeric range.
Materials9
- Adjacent Space RangeApplies a material by bounded distance from a floor or ceiling.
- Constant MaterialOutputs one immutable Minecraft block-state identifier.
- Floor Depth LayersApplies surface and subsurface materials below floors or above ceilings.
- Material by DensityChooses between two materials using a density threshold.
- Material by Density BandsMaps ordered density ranges to an ordered material palette.
- Material by SolidityChooses different material outputs for solid and empty terrain.
- Material QueueUses the first ordered material program that produces a block.
- Variable Depth LayerApplies one material at a deterministic depth between authored minimum and maximum values.
- Vertical Material RangeRestricts a material program to a bounded Y range.
Biomes10
- 3D Noise Biome SplitSelects between two biomes at each X/Y/Z using a density threshold.
- Appearance BandsSelects one ordered appearance input for each [bounds[i], bounds[i+1]) density interval. Bounds must be finite and strictly increasing. Outside the bounds uses the explicit fallback. Inputs may be spatial fields.
- Appearance RampBlends ordered appearance inputs at matching strictly increasing density stops, clamping beyond the endpoints. Resolution is steps per transition, rounded to nearest with ties upward. Colour interpolation chooses OKLCH (default, shortest hue, chroma-reduced to sRGB) or linear-light RGB; distances stay linear in blocks. Changed channels require explicit endpoints or a concrete incoming default/lower layer. Larger resolutions and independent spatial endpoints increase compile-time palette cost; actual byte budgets apply.
- BiomeCombines terrain and material into one logical biome. Connect a reusable Biome Appearance to defaultAppearance. Extract appearance snapshots the selected Minecraft biome's colours and fixed environment overrides into an editable connected node; inherited and dynamic environment settings remain inherited.
- Biome AppearanceReusable appearance overrides. Blank fields inherit; connect to a biome's defaultAppearance, a Choose Appearance branch, or World Output appearance.
- Choose AppearanceSelects below when density < threshold, above otherwise, at each XYZ four-block biome cell. Branches may be presets, nested choices, bands or overlays; logical biomes and terrain stay unchanged.
- Constant Biome SelectorSelects one biome for the whole starter world.
- Mix AppearanceBlends a to b using factor clamped to [0,1], rounded to the nearest transition step (ties upward). Resolution N produces at most N+1 weights, not a cap on authored swatches. Colour interpolation chooses OKLCH (default, shortest hue, chroma-reduced to sRGB) or linear-light RGB; distances stay linear in blocks. Endpoints are exact. Changed channels need explicit values on both sides or a concrete incoming default/lower layer. Nested XYZ fields are supported; palette workspace/byte limits apply.
- Noise Biome SplitSelects between two biomes using a density threshold.
- Overlay AppearancesApplies only the upper layer's specified appearance fields over the lower layer. Both layers may be XYZ spatial fields; blank channels preserve the lower result.
Vectors12
- Add VectorsAdds two vectors component by component.
- Combine XYZCombines three real values into one Vector3.
- Cross ProductReturns the vector perpendicular to A and B.
- Dot ProductReturns the scalar dot product of two vectors.
- Multiply VectorsMultiplies two vectors component by component.
- Normalize VectorReturns a unit vector and rejects zero length.
- Real to Vector3Explicitly broadcasts one real value to X, Y, and Z.
- Scale VectorMultiplies every vector component by one real factor.
- Separate XYZExposes a Vector3 as separate X, Y, and Z real values.
- Subtract VectorsSubtracts vector B from vector A component by component.
- Vector LengthReturns the Euclidean length of a vector.
- Vector3Provides one editable finite X/Y/Z vector.
Values21
- Absolute Real NumberReturns the non-negative magnitude of a real value.
- Absolute Whole NumberReturns the non-negative magnitude of a whole number.
- Add Real NumbersAdds an ordered list of finite decimal values.
- Add Whole NumbersAdds an ordered list of whole numbers exactly.
- Clamp Real NumberRestricts a real value to an inclusive minimum and maximum.
- Divide Real NumbersDivides A by non-zero B.
- Math ConstantProvides one named mathematical constant.
- Maximum Real NumberReturns the largest connected real value.
- Maximum Whole NumberReturns the largest connected whole number.
- Minimum Real NumberReturns the smallest connected real value.
- Minimum Whole NumberReturns the smallest connected whole number.
- Multiply Real NumbersMultiplies an ordered list of real values.
- Multiply Whole NumbersMultiplies an ordered list of whole numbers exactly.
- Negate Real NumberFlips the sign of a real value.
- Negate Whole NumberFlips the sign of a whole number exactly.
- PowerRaises A to the power B and requires a finite result.
- Real NumberProvides one finite decimal value.
- Subtract Real NumbersSubtracts B from A.
- Subtract Whole NumbersSubtracts B from A using exact whole-number arithmetic.
- Whole NumberProvides one exact signed whole number.
- Whole to RealExplicitly converts a whole number to a real value.
World2
Placement11
- Clustered PlacementExpands each distributor anchor into a bounded cluster shaped by a chance curve.
- Fixed Height LocatorPlaces candidates at one exact world Y level.
- Jittered Placement GridProduces a deterministic irregular grid of structure candidates.
- Place Density FormationPlaces a bounded procedural shape through an optional coordinate frame.
- Place Filtered TemplatesPlaces weighted templates only where a sampled density lies inside an authored range.
- Place TemplatesPlaces ordered weighted template variants at bounded terrain candidates.
- Placement SetBundles ordered placement programs into one reusable connection.
- Square Placement GridProduces regularly spaced structure candidates with optional circular jitter.
- Template VariantAdds one weighted, horizontally rotated template choice.
- Terrain Surface LocatorFinds floor or ceiling surfaces inside a bounded vertical scan.
- Triangular Placement GridProduces evenly distributed triangular-grid structure candidates.
Formation17
- Add Placement ScalarsAdds two per-placement values.
- Add Placement VectorsAdds two per-placement vectors.
- Anchor CoordinateReads one coordinate of the candidate anchor.
- Bounded ShapeTurns a density graph into a finite reusable local shape.
- Clamp Placement ScalarRestricts a per-placement value to a range.
- Combine Placement VectorCombines three placement scalars into a vector.
- Contact CoordinateReads one coordinate of the located terrain contact.
- Multiply Placement ScalarsMultiplies two per-placement values.
- Placement FrameBuilds the coordinate frame that positions and orients a bounded shape.
- Placement RandomChooses one stable random value for each located formation.
- Placement Scalar FieldMakes one per-placement scalar available throughout a formation's density or material graph. Preview value is an editor-only fixture for local shape previews.
- Remap Placement ScalarMaps a per-placement value from one range into another.
- Sample Density for PlacementSamples a world density once at the anchor or located contact.
- Scale Placement VectorScales a per-placement vector by a placement scalar.
- Subtract Placement ScalarsSubtracts the right per-placement value from the left.
- Subtract Placement VectorsSubtracts the right per-placement vector from the left.
- Surface Normal ComponentReads one component of the located surface normal.
Structures1
Organization2
Regions4
- Choose RegionSelects a region at actual XYZ: density below threshold chooses below; equality chooses above.
- Distance to Region EdgeApproximate nonnegative 3D distance in blocks to a region boundary, saturated at maxDistance.
- Region MembershipExact 0/1 membership of the final XYZ region selection, queried by Region Output query keys.
- Region OutputPackages a logical biome, optional XYZ appearance, and ordered regional placements.
Networks81
- Act on neighboursRuns one action on some of each selected point's neighbours or links.
- All linksSelects every link.
- All pointsSelects every point.
- Anchor pointsPlaces points wherever a placement anchor would place things.
- Basin rimSamples concentric horizontal rings of a height field at each selected point. Stores the highest ring minimum and its radius, choosing the smaller radius on ties. Water below that level is contained up to the ring sampling resolution. Radius 8 to 1024, rings 1 to 16, samples per ring 8 to 256.
- BranchGives a network its own identities, so a copy can change separately and be merged back.
- ConnectLinks each selected point to others within range: all of them, the nearest few, or a relative-neighbourhood web.
- Connect by scoreEach point chooses the highest scoring candidates within range whose condition is positive. Links point toward the chosen points; equal scores use point identity. In a planar network with count one, unrelated crossing nominations keep the lower canonical endpoint pair; the other nomination is dropped without retry.
- Content materialPaints with the material layer carried by the nearest selected point in range. The fallback paints where none reaches.
- Content placementsRuns the placement recipes the selected points carry in a content layer, at those points.
- Copy contentCopies content layers from the selected points to their neighbours, one link per hop.
- Count upstreamCounts incoming points over a fixed number of hops, including this point, capped at Hops plus one. Paths are counted separately when links form cycles or diamonds.
- Delete linksDeletes the selected links; their points stay.
- Delete pointsDeletes the selected points and their links.
- Do nothing (links)Leaves the selected links unchanged. Useful as one choice in a Weighted action.
- Do nothing (points)Leaves the selected points unchanged. Useful as one choice in a Weighted action.
- Explicit pointsPlaces points exactly where you list them, each with a key and optional tags.
- Give links contentAttaches a content layer to the selected links: a shape, material or placement recipe with a range.
- Give points contentAttaches a content layer to the selected points: a shape, material or placement recipe with a range.
- Grade downstreamLowers a named point value over outgoing directed links for Hops rounds. Cost is sampled once per directed link with this point upstream and the other point downstream, then clamped to zero or above. Missing endpoint values and non-finite costs impose no constraint. Only selected points are written.
- Jitter pointsMoves the selected points by a random offset, up to the given amount on each axis.
- Lattice pointsPlaces points on a regular grid, each nudged by a seeded jitter. Spacing sets how far apart they are.
- Link attachmentsSets where each selected link attaches at its ends, as an offset from its points. Bridges use this to land on island rims.
- Link value from fieldStores a named number sampled from a field for each selected link.
- Links by lengthSelects links between Min and Max blocks long.
- Links by their endsSelects links whose ends match: either end, or both.
- Links by upstream or downstream endSelects one-way links whose chosen end matches the point selector.
- Links by valueSelects links whose named value is between Min and Max. Links without the value are not selected.
- Links with contentSelects links that carry the named content layer.
- Links with tagSelects links that carry a tag.
- Links: all ofSelects links that every input selects.
- Links: any ofSelects links that at least one input selects.
- Links: notSelects the links its input does not select.
- Main upstream linksSelects the largest incoming source value at each downstream point. Equal values use source identity.
- Material by nearest pointPicks one of two materials by a value read from the nearest selected point: one below the threshold, the other at or above it.
- Merge networksCombines networks into one. If two inputs changed the same points differently, put a Branch on one first.
- Mesh pointsPlaces the same points as a Jittered Mesh 2D field, so terrain shaped by that mesh lines up with them.
- Move pointsMoves the selected points by a fixed offset.
- Move points by fieldMoves the selected points by three fields (X, Y, Z), up to a maximum distance.
- Nearest point valueReads a value, a tag (1 or 0) or the distance of the nearest selected point within range.
- Pair or path valueInside a score, Grade downstream cost, link field or Path Field, reads the other point, directed ends, distance or position along the path. Endpoint pool radius holds blended values flat at the ends and measures grade between the pools.
- PassRuns its actions in order on the network. Iterations repeat the whole list, for growth like roots.
- PathTurns links into straight, sagging or smooth-chain paths. Smooth chains share each junction's main-flow tangent; bounded width-scaled meander fades out on steep links.
- Path clearanceAccepts a whole path only when its clearance envelope avoids base terrain.
- Path distanceReads the nearest selected link or path within range: how far away it is, how far along it, a value blended between its ends, or its change per horizontal block. Roads and rivers carve with this.
- Path fieldDraws the wired shape for every nearby selected path in world coordinates and combines them in path identity order. Pair or path value reads the path being drawn.
- Path samplesPlaces points at regular distances along each path. Each point knows how far along it sits (path_t, path_arc) and which way the path runs (tangent_x, tangent_y, tangent_z).
- Point fieldDraws the shape each nearby point carries in a content layer around that point, and combines them: maximum, minimum, sum or smooth union.
- Point field with shapeDraws the wired shape around each nearby selected point and combines them. Inside it, This point's value and This point's tag read the point being drawn.
- Point instancesPlaces a template or formation at each selected point with heading, tilt, twist, lean and offsets.
- Point value from fieldStores a named number sampled from a field at each selected point.
- Points by directed link countCounts incoming or outgoing links at each point. A point with no outgoing link is a sink.
- Points by directed neighboursSelects points by matching incoming or outgoing neighbours.
- Points by fieldSelects points where a field, sampled at the point, is between Min and Max.
- Points by link countSelects points with between Min and Max links.
- Points by neighboursSelects points whose neighbours match: at least Count of them, or all.
- Points by their linksSelects points whose links match: at least Count of them, or all.
- Points by valueSelects points whose named value is between Min and Max. Points without the value are not selected.
- Points with contentSelects points that carry the named content layer.
- Points with tagSelects points that carry a tag.
- Points: all ofSelects points that every input selects.
- Points: any ofSelects points that at least one input selects.
- Points: notSelects the points its input does not select.
- Random linksSelects each link with the given chance.
- Random pointsSelects each point with the given chance.
- Set link valueStores a named number on the selected links: a constant, the iteration or the spawn depth.
- Set point valueStores a named number on the selected points: a constant, their link count, the iteration or the spawn depth.
- Snap to surfaceMoves the selected points onto a field's surface, searching from above or below within a height window.
- Spawn pointsGrows new points around each selected point, optionally linked back to their parent.
- Split linksCuts the selected links into chains of shorter links, with new points in between.
- SpreadCopies tags and values from the selected points to their neighbours, one link per hop.
- Surface contactsResolves both path landings on real terrain tops and validates each landing footprint.
- SweepRasterises bounded width/up profiles along selected paths, with materials and replacement masks.
- Tag linksAdds a tag to the selected links.
- Tag pointsAdds a tag to the selected points.
- This point's tagInside a shape or recipe carried by a point (or link), gives 1 when it has the tag and 0 when it does not.
- This point's valueInside a shape or recipe carried by a point (or link), reads its named value. If missing is used where it has none.
- Untag linksRemoves a tag from the selected links.
- Untag pointsRemoves a tag from the selected points.
- Weighted (links)Picks one of its actions for each selected link, by weight.
- Weighted (points)Picks one of its actions for each selected point, by weight.