Minecraft:Density function: Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| Line 29: | Line 29: | ||
=== {{cd|interpolated}} === | === {{cd|interpolated}} === | ||
{{until|JE 26.4}} | |||
Interpolates at each block in one cell based on the input density function value of some cells around. The size of each cell is <code>size_horizontal * 4</code> and <code>size_vertical * 4</code>. | Interpolates at each block in one cell based on the input density function value of some cells around. The size of each cell is <code>size_horizontal * 4</code> and <code>size_vertical * 4</code>. | ||
<div class="treeview"> | <div class="treeview"> | ||
| Line 36: | Line 38: | ||
** {{nbt|int|cell_size_xz}}: Size in blocks of the interpolation grid cells on the X and Z axes. The number must not be negative. | ** {{nbt|int|cell_size_xz}}: Size in blocks of the interpolation grid cells on the X and Z axes. The number must not be negative. | ||
** {{nbt|int|cell_size_y}}: Size in blocks of the interpolation grid cells on the Y axis. The number must not be negative. | ** {{nbt|int|cell_size_y}}: Size in blocks of the interpolation grid cells on the Y axis. The number must not be negative. | ||
</div> | |||
=== {{cd|upscale}} === | |||
Samples the input function at a reduced resolution and upscales on each axis with the specified modes. Modes that require more samples will generally perform worse. Upscaling is peformed by axis in order of Z, X, then Y.{{upcoming|JE 26.4}} | |||
<div class="treeview"> | |||
* {{nbt|compound}}: Root object. | |||
** {{nbt|string|type}}: The ID of the density function type (in this case, <code>upscale</code>). | |||
** {{Nbt|string}}{{Nbt|double|input}}: {{json ref/density function}} — The input to sample. | |||
** {{nbt|int-array|point}}: {{cd|[x, y, z]}}; the configuration for this axis. | |||
*** {{nbt|string|mode}}: one of: | |||
**** {{nbt|int|nearest_neighbor}}: Value is discontinuous across cell boundaries, with the gradient always at 0. The values at cell vertices will always be equal to the cell value. One sample per axis. | |||
**** {{nbt|int|interpolate_linear}}: Value is continuous, and the gradient is content with a cell but discontinuous across cell boundaries. The values at cell vertices will always be equal to the cell value. Two samples per axis. | |||
**** {{nbt|int|interpolate_cosine}}: Value and gradient are continuous, and the gradient is 0 at cell boundaries. The values at cell vertices will always be equal to the cell value. Two samples per axis. | |||
**** {{nbt|int|interpolate_cubic}}: Value and gradient are continuous. The values at cell vertices will always be equal to the cell value. Four samples per axis. | |||
**** {{nbt|int|b_spline_cubic}}: Value and gradient are continuous. The values at cell vertices do not necessarily need to equal to the cell value. Four samples per axis. | |||
*** {{nbt|int|cell_size}}: The size of each upscaling cell. Value between 1 and 64, inclusive. | |||
</div> | </div> | ||
| Line 642: | Line 661: | ||
* {{cd|shifted_noise}} | * {{cd|shifted_noise}} | ||
}} | }} | ||
|{{HistoryLine|java upcoming}} | |||
|{{HistoryLine||26.4|dev=snap5|{{cd|interpolated}} has been replaced with {{cd|upscale}}.}} | |||
}} | }} | ||
== Issues == | == Issues == | ||
{{issue list|projects=MC}} | {{issue list|projects=MC}} | ||
== External links == | == External links == | ||
Latest revision as of 11:16, 22 October 2026
Template:Exclusive
Density functions make up mathematical expressions to obtain a number from a position, stored as Minecraft:JSON files within a Minecraft:data pack in the path data/<namespace>/worldgen/density_function. They are referenced from the Minecraft:noise router in Minecraft:noise settings.
JSON format
A density function can be a constant number or an object.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type.
- Other additional fields depend on the value of Template:Nbt, described below.
If the Template:Nbt is constant, a shorthand format is:
- Template:Nbt: A constant number. Value between −1000000.0 and 1000000.0 (both inclusive).
Marker functions
Template:Cd
If this density function is referenced twice, it is only computed once per block position.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
cache). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input to be cached.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Interpolates at each block in one cell based on the input density function value of some cells around. The size of each cell is size_horizontal * 4 and size_vertical * 4.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
interpolated). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input to be interpolated.
- Template:Nbt: Size in blocks of the interpolation grid cells on the X and Z axes. The number must not be negative.
- Template:Nbt: Size in blocks of the interpolation grid cells on the Y axis. The number must not be negative.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Samples the input function at a reduced resolution and upscales on each axis with the specified modes. Modes that require more samples will generally perform worse. Upscaling is peformed by axis in order of Z, X, then Y.Template:Upcoming
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
upscale). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input to sample.
- Template:Nbt: Template:Cd; the configuration for this axis.
- Template:Nbt: one of:
- Template:Nbt: Value is discontinuous across cell boundaries, with the gradient always at 0. The values at cell vertices will always be equal to the cell value. One sample per axis.
- Template:Nbt: Value is continuous, and the gradient is content with a cell but discontinuous across cell boundaries. The values at cell vertices will always be equal to the cell value. Two samples per axis.
- Template:Nbt: Value and gradient are continuous, and the gradient is 0 at cell boundaries. The values at cell vertices will always be equal to the cell value. Two samples per axis.
- Template:Nbt: Value and gradient are continuous. The values at cell vertices will always be equal to the cell value. Four samples per axis.
- Template:Nbt: Value and gradient are continuous. The values at cell vertices do not necessarily need to equal to the cell value. Four samples per axis.
- Template:Nbt: The size of each upscaling cell. Value between 1 and 64, inclusive.
- Template:Nbt: one of:
- Template:Nbt: The ID of the density function type (in this case,
Noise sampling functions
These density functions are used to sample noises.
Template:Cd
Samples a noise.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
noise). - Template:Nbt: Template:Json ref — The noise to sample.
- Template:Nbt: Scales the X and Z before sampling.
- Template:Nbt: Scales the Y before sampling.
- Template:Nbt: Optional; A domain warp to apply on X. If not specified, no warping will be applied (equivalent to 0).
- Template:Nbt: Optional; A domain warp to apply on Y. If not specified, no warping will be applied (equivalent to 0).
- Template:Nbt: Optional; A domain warp to apply on Z. If not specified, no warping will be applied (equivalent to 0).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Samples a legacy noise. Template:Info needed
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
old_blended_noise). - Template:Nbt: Value between 0.001 and 1000.0 (both inclusive).
- Template:Nbt: Value between 0.001 and 1000.0 (both inclusive).
- Template:Nbt: Value between 0.001 and 1000.0 (both inclusive).
- Template:Nbt: Value between 0.001 and 1000.0 (both inclusive).
- Template:Nbt: Value between 1.0 and 8.0 (both inclusive).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Samples a noise at (x/4, y/4, z/4), then multiplies it by 4.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
shift). - Template:Nbt: Template:Json ref — The noise to sample.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Samples a noise at (x/4, 0, z/4), then multiplies it by 4.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
shift_a). - Template:Nbt: Template:Json ref — The noise to sample.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Samples a noise at (z/4, x/4, 0), then multiplies it by 4.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
shift_b). - Template:Nbt: Template:Json ref — The noise to sample.
- Template:Nbt: The ID of the density function type (in this case,
Mathematical density functions
These density functions are used to perform mathematical operations.
Template:Cd
Calculates the absolute value of the input density function.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
abs). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Adds two density functions together.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
add). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The first input of the calculation.
- Template:NbtTemplate:Nbt: Template:Json ref/density function — The second input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Rounds the input value to positive infinity.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
ceil). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function to round.
- Template:NbtTemplate:NbtTemplate:Nbt: The output will be rounded to an integer multiple of the value returned by this Density Function. If not specified, defaults to a constant 1.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Clamps the input between two values.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
clamp). - Template:NbtTemplate:NbtTemplate:Nbt: One density function — The input to clamp.
- Template:Nbt: The lower bound. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The upper bound. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
A constant value.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
constant). - Template:Nbt: A constant value. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Cubes the input (x^3).
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
cube). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Performs division between two arguments.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
div). - Template:NbtTemplate:NbtTemplate:Nbt — The left-hand side of the operation.
- Template:NbtTemplate:NbtTemplate:Nbt — The right-hand side of the operation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Rounds the input value to negative infinity.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
floor). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function to round.
- Template:NbtTemplate:NbtTemplate:Nbt: The output will be rounded to an integer multiple of the value returned by this Density Function. If not specified, defaults to a constant 1.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Computes the natural logarithm of the given input.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
log). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function for which to compute the natural logarithm.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Multiplies two inputs.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
mul). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The first input of the calculation.
- Template:NbtTemplate:Nbt: Template:Json ref/density function — The second input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Returns the minimum of two inputs.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
min). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The first input of the calculation.
- Template:NbtTemplate:Nbt: Template:Json ref/density function — The second input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Returns the maximum of two inputs.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
max). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The first input of the calculation.
- Template:NbtTemplate:Nbt: Template:Json ref/density function — The second input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Negates the input.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
negate). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function to negate.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Raises the given base value to an exponent.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
pow). - Template:NbtTemplate:NbtTemplate:Nbt: the base value (Density Function).
- Template:NbtTemplate:NbtTemplate:Nbt: the exponent (Density Function).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Inverts the input (1/x).
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
reciprocal). - Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — The input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Rounds the input value to to the nearest integer (ties round up).
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
round). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function to round.
- Template:NbtTemplate:NbtTemplate:Nbt: The output will be rounded to an integer multiple of the value returned by this Density Function. If not specified, defaults to a constant 1.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Performs subtraction between two arguments.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
sub). - Template:NbtTemplate:NbtTemplate:Nbt — The left-hand side of the operation.
- Template:NbtTemplate:NbtTemplate:Nbt — The right-hand side of the operation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Computes the sign of the given input. If positive, it returns as 1. If the input is 0, it returns 0. If negative, it returns as -1.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
sign). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function for which to compute the sign.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Computes the square root of the given input.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
sqrt). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function for which to compute the square root.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Squares the input. (x^2)
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
square). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Rounds the input value to 0.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
truncate). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function to round.
- Template:NbtTemplate:NbtTemplate:Nbt: The output will be rounded to an integer multiple of the value returned by this Density Function. If not specified, defaults to a constant 1.
- Template:Nbt: The ID of the density function type (in this case,
Mapped density functions
These density functions map a set of values onto another set of values.
Template:Cd
Clamps the given coordinate and maps the gradient to a range.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
gradient). - Template:Nbt: Template:Cd, Template:Cd. or Template:Cd: The axis over which to define the gradient .
- Template:Nbt: How the density function handles values outside the specified coordinate range. 3 options:
clamp_to_edge: outside the gradient boundaries, the value at the nearest boundary will be used.repeat: The gradient will be repeated outside its boundaries.mirrored_repeat: The gradient will be repeated as such that odd repetitions are mirrored, ensuring continuity between repetitions.
- Template:Nbt: The coordinate at which the gradient starts.
- Template:Nbt: The coordinate at which the gradient ends. It must not equal Template:Cd.
- Template:Nbt: The value at which the gradient starts.
- Template:Nbt: The value at which the gradient ends.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Performs (unclamped) linear interpolation between two arguments based on an alpha. The returned value is: first*(1-alpha) + second*alpha
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
lerp). - Template:NbtTemplate:NbtTemplate:Nbt: Density function representing the interpolation factor (e.g. 0 = first, 1 = second). Any value outside of Template:Cd will extrapolate.
- Template:NbtTemplate:NbtTemplate:Nbt: Density Function to use at Template:Cd.
- Template:NbtTemplate:NbtTemplate:Nbt: Density Function to use at Template:Cd.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
First clamps the input between −1 and 1, then transforms it using x/2 - x*x*x/24.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
squeeze). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Computes a cubic spline.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
spline). - Template:NbtTemplate:Nbt: The spline. Can be either a number or an object.
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — Input determining the location on the spline.
- Template:Nbt: (Cannot be empty) List of points of the cubic spline.
- Template:Nbt: A point of the cubic spline.
- Template:Nbt: The location of this point.
- Template:NbtTemplate:Nbt: The value of this point. Can be either a number or a spline object.
- Template:Nbt: The slope at this point.
- Template:Nbt: A point of the cubic spline.
- Template:Nbt: The ID of the density function type (in this case,
Conditional density functions
These density functions are used to apply "if-then" logic.
Template:Cd
If the input is negative, returns half of the input. Otherwise returns the input. (x < 0 ? x/2 : x)
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
half_negative). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Selects between a number of density functions based on an input density function and a set of threshold values.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
interval_select). - Template:NbtTemplate:NbtTemplate:Nbt: Density Function to be compared with any given Template:Cd.
- Template:Nbt: (List of Floats) The threshold values to compare Template:Cd with.
- If the input value is less than the threshold values, the result of Template:Cd will be selected.
- If the input value is greater than the last threshold value, the last function will be selected.
- There must be one fewer Template:Cd than Template:Cd.
- Template:Nbt: The resulting functions (at least two) to be selected from.
- There must be one more element in Template:Cd than Template:Cd.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
If the input is negative, returns a quarter of the input. Otherwise returns the input. (x < 0 ? x/4 : x)
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
quarter_negative). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The input of the calculation.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Computes the input value, and depending on that result returns one of two other density functions. Basically an if-then-else statement.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
range_choice). - Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — The value to compare
- Template:Nbt: The lower bound of the range. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The upper bound of the range. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — Used when the input is inside the range.
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — Used when the input is outside the range.
- Template:Nbt: The ID of the density function type (in this case,
Other density functions
Template:Cd
Adds beards for structures (see the terrain_adaptation field in structures). Its value is added to the final_density in noise setting by the game. Should not be referenced in data packs.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
beardifier).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Used in vanilla for smooth transition to chunks generated in old versions.Template:Info needed
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
blend_alpha).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Used in vanilla for smooth transition to chunks generated in old versions.Template:Info needed
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
blend_density). - Template:NbtTemplate:Nbt: Template:Json ref/density function — The desired density of new chunks.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Used in vanilla for smooth transition to chunks generated in old versions.Template:Info needed
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
blend_offset).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Computes the distance to a fixed point using the specified distance function.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
distance_to_point). - Template:Nbt: Template:Cd; the point to compute distance to
- Template:Nbt:
- Template:Nbt: (i.e. Template:Cd)
- Template:Nbt: (i.e. Template:Cd)
- Template:Nbt: (i.e. Template:Cd)
- Template:Nbt: (i.e. Template:Cd)
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Samples at current position using a noise algorithm used for end islands. Its minimum value is −0.84375 and its maximum value is 0.5625.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
end_outer_islands).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Scans through a column of an input density and returns the topmost y-level that is above 0. If no such position exists within the bounds, the Template:Nbt is returned.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
find_top_surface). - Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — The density function to scan.
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — The y-level to start the scan at. Usually a 2D density function.
- Template:Nbt: The y-level to stop the scan.
- Template:Nbt: The resolution of the scan. E.g. if set to
4, then only every 4th block is checked.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
ore_vein). - Template:Nbt: The ore block to place.
- Template:Nbt: The raw ore block to place.
- Template:Nbt: The filler block to place.
- Template:Nbt: The probability for a raw ore block to be placed instead of an ore block. Value between 0 and 1 (inclusive).
- Template:Nbt: The probability for the ore vein to replace a block. If the value is 0 or lower, no block will be replaced.
- Template:Nbt: The probability for an ore block or a raw ore block to be placed, as opposed to Template:Cd. If the value is 0 or lower, all blocks will be the filler block. If the value is 1 or greater, no blocks will be the filler block.
- Template:Nbt: Overrides Template:Cd; if the value is positive, Template:Cd will always be placed.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removes a dimension from the input domain by taking a "slice" along an axis with a specific coordinate (e.g. with the axis equaling y and the coordinate of 0, a slice will be taken along the XZ plane, with all values sampled at y=0).
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
slice). - Template:Nbt: Template:Cd, Template:Cd, or Template:Cd; the axis to remove.
- Template:Nbt: The fixed coordinate to be passed to the input function.
- Template:NbtTemplate:NbtTemplate:Nbt: The input function.
- Template:Nbt: The ID of the density function type (in this case,
Removed density functions
Template:Cd
Removed in Minecraft:26.3-snap10
Only computes the input density once per horizontal position.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
cache_2d). - Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — The input to be cached.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removed in Minecraft:26.3-snap10
Used by the game onto final_density and should not be referenced in data packs.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
cache_all_in_cell). - Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — The input to be cached.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removed in Minecraft:26.3-snap10
Calculate the value per 4×4 column (Value at each block in one column is the same). And it is calculated only once per column, at Y=0. Used often in combination with interpolated.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
flat_cache). - Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — The input to be cached.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removed in Minecraft:26.3-snap10
Similar to noise, but first shifts the input coordinates.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
shifted_noise). - Template:Nbt: Template:Json ref — The noise to sample.
- Template:Nbt: Scales the X and Z before sampling.
- Template:Nbt: Scales the Y before sampling.
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — offset of the position in the X direction.
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — offset of the position in the Y direction.
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — offset of the position in the Z direction.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removed in Minecraft:22w12a
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
slide). - Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function
- Template:Nbt: The ID of the density function type (in this case,
The legacy "spline"
Removed in Minecraft:22w11a
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
spline). - Template:NbtTemplate:Nbt: The spline. Can be either a number or an object.
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function — Input determining the location on the spline.
- Template:Nbt: (Cannot be empty) List of points of the cubic spline.
- Template:Nbt: The location of this point.
- Template:NbtTemplate:Nbt: The value of this point. Can be either a number or a spline object.
- Template:Nbt: The slope at this point.
- Template:Nbt: The min value of the output. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The max value of the output. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removed in Minecraft:22w11a
Calculate the spline from the noise settings.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
terrain_shaper_spline). - Template:Nbt: Can be
offset,factor, orjaggedness. - Template:Nbt: The min value of the output. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The max value of the output. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function
- Template:NbtTemplate:NbtTemplate:Nbt: Template:Json ref/density function
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removed in Minecraft:26.2-snap5
According to the input value, scales and enhances (or weakens) some regions of the specified noise, and then returns the absolute value.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
weird_scaled_sampler). - Template:Nbt: Can be
type_1(The minimum scale is 0.75, and the maximum is 2.0)ortype_2(The minimum scale is 0.5, and the maximum is 3.0.) - Template:Nbt: Template:Json ref — The noise to sample.
- Template:NbtTemplate:NbtTemplate:Nbt: The input density function. Can be an ID of a density function, or a density function in the form of a JSON object or a constant number.
- Template:Nbt: The ID of the density function type (in this case,
Template:Cd
Removed in Minecraft:26.3-snap6
Clamps the Y coordinate between from_y and to_y and then linearly maps it to a range.
- Template:Nbt: Root object.
- Template:Nbt: The ID of the density function type (in this case,
y_clamped_gradient). - Template:Nbt: The value to be mapped to
from_value. Value between −4064 and 4062 (both inclusive). - Template:Nbt: The value to be mapped to
to_value. Value between −4064 and 4062 (both inclusive). - Template:Nbt: The value to map
from_yto. Value between −1000000.0 and 1000000.0 (both inclusive). - Template:Nbt: The value to map
to_yto. Value between −1000000.0 and 1000000.0 (both inclusive).
- Template:Nbt: The ID of the density function type (in this case,
History
Issues
External links
Template:Navbox Java Edition technical
Minecraft:de:Dichtefunktion Minecraft:fr:Fonction de densité Minecraft:ko:밀도 함수 Minecraft:pt:Função de densidade Minecraft:zh:密度函数