Drops positions whose biome doesn't list this feature. Vanilla ends most placements with it.
Biome() Helpers that build a minecraft:placement_modifier object, one for each of its types. Where a field takes one, write the helper's call; its
name is the type it makes. Click a type to see what it accepts.
Drops positions whose biome doesn't list this feature. Vanilla ends most placements with it.
Biome() Keeps positions where a block predicate passes, such as Solid() or MatchingBlocks(air).
BlockPredicateFilter(predicate) predicateBlockPredicate Repeats each position count times. Follow it with InSquare() to spread the copies over the chunk.
Count(count) countIntProvider of int 0..4096 How many: a number, or a range such as 2..5.
PlacedFeature trees { feature = minecraft:oak, placement = [Count(3), InSquare(), Heightmap(WORLD_SURFACE_WG), Biome()] }Places count positions on each layer of the terrain, from the top down, so features appear under overhangs too. Vanilla nether forests use it.
CountOnEveryLayer(count) countIntProvider of int 0..256 Cuboid(xz_size, y_size, include_interior?, include_edges?) xz_sizeIntProvider of int 1..16 y_sizeIntProvider of int 1..16 include_interioroptionalbool Defaults to true.
include_edgesoptionalbool Defaults to true.
Moves each position up or down, at most max_steps blocks, until target_condition passes. Drops it if nothing is found.
EnvironmentScan(direction_of_search, max_steps, target_condition, allowed_search_condition?) direction_of_searchVerticalDirection up or down.
max_stepsint 1..32 How far to search, in blocks.
target_conditionBlockPredicate The block predicate to search for.
allowed_search_conditionoptionalBlockPredicate The scan stops if a block on the way fails this.
Replaces each position with a fixed list of positions.
FixedPlacement(positions) positionslist of (list of int (exactly 3)) Fixed list of block positions to place the feature at.
Sets each position's Y to a height picked by a height provider.
HeightRange(height) heightHeightProvider The height, such as Uniform(AboveBottom(0), Absolute(64)).
Moves each position up or down onto the surface of a heightmap, such as WORLD_SURFACE_WG for the top block or OCEAN_FLOOR_WG for the sea floor.
Heightmap(heightmap) heightmapHeightmapType Which surface to use.
Repeats each position a number of times that follows a noise, so features cluster in some areas. The count is ceil((noise + noise_offset) * noise_to_count_ratio).
NoiseBasedCount(noise_to_count_ratio, noise_factor, noise_offset?) noise_to_count_ratioint Multiplies the noise to get the count.
noise_factornumber Divides x and z before sampling; larger values give larger clusters.
noise_offsetoptionalnumber Repeats each position below_noise times where a noise is below noise_level, and above_noise times where it is above.
NoiseThresholdCount(noise_level, below_noise, above_noise) noise_levelnumber below_noiseint above_noiseint Moves each position by the given number of blocks.
Offset(x, y, z) xIntProvider of int -16..16 yIntProvider of int -16..16 zIntProvider of int -16..16 Keeps each position with probability chance, from 0 to 1.
RandomChance(chance) chancenumber 0..1 Keeps each position with a chance of 1 in chance.
RarityFilter(chance) chanceint 0.. Keep one position in this many, on average.
PlacedFeature rare_rocks { feature = minecraft:forest_rock, placement = [RarityFilter(16), InSquare(), Heightmap(MOTION_BLOCKING), Biome()] }Keeps positions whose Y, measured from a heightmap's surface, is from min_inclusive to max_inclusive.
SurfaceRelativeThresholdFilter(heightmap, min_inclusive?, max_inclusive?) heightmapHeightmapType min_inclusiveoptionalint max_inclusiveoptionalint Keeps positions where the water above the surface is at most max_water_depth blocks deep.
SurfaceWaterDepthFilter(max_water_depth) max_water_depthint