Default Placement Modifiers
Placement modifiers add conditions for the placement of features and dynamically modify where they generate in the world. Below is a list of all default placement modifiers included in AbyssalLib.
CountModifier
ID: abyssallib:count
Duplicates the incoming position stream a specified number of times.
Parameter | Information |
|---|---|
| The number of times to duplicate the input positions. |
HeightRangeModifier
ID: abyssallib:height_range
Randomizes the Y-coordinate of input positions between a specified minimum and maximum bounds.
Parameter | Information |
|---|---|
| The minimum allowed Y coordinate (inclusive). |
| The maximum allowed Y coordinate (inclusive). |
InSquareModifier
ID: abyssallib:in_square
Spreads the input positions randomly across the X and Z axes within the bounds of a standard 16x16 chunk.
(No parameters required)
EnvironmentScanModifier
ID: abyssallib:environment_scan
Performs a vertical scan to find the nearest solid surface.
Parameter | Information |
|---|---|
| The maximum number of blocks to scan in the specified direction. |
| Determines the scan direction; |
BlockFilterModifier
ID: abyssallib:block_filter
Filters out incoming positions based on the target block type.
Parameter | Information |
|---|---|
| The list of allowed block info targets. |
| The coordinate offset to check relative to the current placement position. |
BiomeFilterModifier
ID: abyssallib:biome_filter
Filters positions based on the active biome at the coordinates.
Parameter | Information |
|---|---|
| The list of acceptable biome identifiers (e.g., |
ChanceModifier
ID: abyssallib:chance
Filters positions based on a random probability.
Parameter | Information |
|---|---|
| The denominator for the 1-in-X probability. Must be >= 1. |
RandomOffsetModifier
ID: abyssallib:random_offset
Slightly shifts the incoming position randomly along all three axes based on the defined spread values.
Parameter | Information |
|---|---|
| The maximum horizontal distance (positive or negative) to offset the position. |
| The maximum vertical distance (positive or negative) to offset the position. |
HeightmapModifier
ID: abyssallib:heightmap
Snaps the Y-coordinate of incoming positions to the highest block at that specific X and Z coordinate, dictated by a selected heightmap.
Parameter | Information |
|---|---|
| The heightmap projection to use when calculating the surface. |
RarityFilterModifier
ID: abyssallib:rarity_filter
Acts as a per-chunk probability gate. Unlike the standard ChanceModifier which evaluates each generated vector individually, this modifier evaluates the probability exactly once per stream execution.
Parameter | Information |
|---|---|
| The denominator for the 1-in-X probability per chunk. |
WaterDepthFilterModifier
ID: abyssallib:water_depth_filter
Filters positions based on the depth of the water column above them.
Parameter | Information |
|---|---|
| The maximum allowed number of contiguous water blocks directly above the position. |
NoiseThresholdModifier
ID: abyssallib:noise_threshold
Filters positions based on 2D simplex noise.
Parameter | Information |
|---|---|
| The frequency multiplier applied to coordinates before sampling noise. |
| The threshold value to compare the sampled noise against. |
| Whether the noise value must be above or below the threshold. |
NoiseCountModifier
ID: abyssallib:noise_count
Duplicates the incoming position stream a variable number of times based on a 2D simplex noise evaluation.
Parameter | Information |
|---|---|
| The frequency multiplier applied to coordinates before sampling the noise field. |
| The noise value boundary determining which count is used. |
| The number of positions to yield if the sampled noise is strictly greater than the threshold. |
| The number of positions to yield if the sampled noise is less than or equal to the threshold. |
SurfaceRelativeThresholdModifier
ID: abyssallib:surface_relative_threshold
Filters positions based on their vertical proximity to a selected world heightmap (surface).
Parameter | Information |
|---|---|
| The heightmap criteria used to locate the surface block. |
| The minimum allowed relative offset from the surface (inclusive). |
| The maximum allowed relative offset from the surface (inclusive). |
BiomeTransitionModifier
ID: abyssallib:biome_transition
Prevents feature bleeding across chunk boundaries.
(No parameters required)
CountOnEveryLayerModifier
ID: abyssallib:count_on_every_layer
Duplicates the incoming position stream across every single Y-coordinate from the bottom of the world to the top.
Parameter | Information |
|---|---|
| The number of placement attempts to make per Y-layer. |
FixedPlacementModifier
ID: abyssallib:fixed_placement
Completely overrides the procedural generation stream, replacing it with a fixed, hardcoded list of specific coordinates.
Parameter | Information |
|---|---|
| The static list of absolute world coordinates. |