A block state provider is used to provide a (potentially randomized) block and block state to be placed by configured features.
Block state providers are defined using the following format:
- [NBT Compound / JSON Object]: A block state provider
The following block state provider types exist.
Specifies a single block state directly
- [NBT Compound / JSON Object]: A block state provider
- [String] type:
simple_state_provider
- [NBT Compound / JSON Object] state: The block state to use.
Randomly rotates axially-rotated blocks, such as logs, chain.
- [NBT Compound / JSON Object]: A block state provider
- [String] type:
rotated_block_provider
- [NBT Compound / JSON Object] state: The block ID to use. The block properties are ignored.
Chooses a block state from a weighted list.
- [NBT Compound / JSON Object]: A block state provider
- [String] type:
weighted_state_provider
- [NBT List / JSON Array] entries: (Cannot be empty) A weighted list of block state entries.
- [NBT Compound / JSON Object] A block state and its corresponding weight.
- [NBT Compound / JSON Object] data: The block state to use.
- [Int] weight: The weight of this entry.
Assigns a random value to an integer block property.
- [NBT Compound / JSON Object]: A block state provider
- [String] type:
randomized_int_state_provider
- [String] property: The name of a block property.
- [Int][NBT Compound / JSON Object] values: The value of the block property.
- [NBT Compound / JSON Object] source: Another block state provider that specifies the source of the block state.
Randomly chooses a block state according to a noise value.
- [NBT Compound / JSON Object]: A block state provider
- [String] type:
noise_provider
- [Long] seed: The seed of the noise.
- [NBT Compound / JSON Object] noise: A noise.
- [Float] scale: Horizontal scale of the noise. Must be a positive value.
- [NBT List / JSON Array] states: (Cannot be empty) List of optional block states.
- [NBT Compound / JSON Object]: A block state.
Randomly chooses a block state according to two noise values.
- [NBT Compound / JSON Object]: A block state provider
- [String] type:
dual_noise_provider
- [Long] seed: The seed of the noise.
- [NBT Compound / JSON Object] noise: A noise.
- [Float] scale: Horizontal scale of noise. Must be a positive value.
- [NBT Compound / JSON Object] slow_noise: The noise used for the first selection.
- [Float] slow_scale: Horizontal scale of the slow noise. Must be a positive value.
- [NBT Compound / JSON Object] variety: The number of block states that selected out by slow noise.
- [Int] min_inclusive: The min number of block states after selection by slow noise. Must be an integer equal to or greater than 1.
- [Int] max_inclusive: The max number of block states after selection by slow noise. Must be an integer equal to or less than 64, and must be greater than [Int] min_inclusive.
- [NBT List / JSON Array] variety: Shorthand version of [NBT Compound / JSON Object] variety.
- [Int]: Min number. Must be an integer equal to or greater than 1.
- [Int]: Max number. Must be an integer equal to or less than 64, and must be greater than the min number.
- [Int] variety: Shorthand version of [NBT Compound / JSON Object] variety when the min equals to the max. Value between 1 and 64 (both inclusive).
- [NBT List / JSON Array] states: List of block states to choose from.
- [NBT Compound / JSON Object]: A block state.
Uses different block states when a noise value above or below the threshold.
- [NBT Compound / JSON Object]: A block state provider
- [String] type:
noise_threshold_provider
- [Long] seed: The seed of the noise.
- [NBT Compound / JSON Object] noise: A noise.
- [Float] scale: Horizontal scale of noise. Must be a positive value.
- [Float] threshold: Value between -1.0 and 1.0 (inclusive). The threshold of the noise value. If the noise value is lower than this value, the block states in
low_states will be selected.
- [Float] high_chance: Value between 0.0 and 1.0 (inclusive). If the noise value is higher than the threshold, the block states in
high_states will be selected with a probability of high_chance.
- [NBT Compound / JSON Object] default_state: Default block state. These block states is used when the noise value is higher than
threshold but high_states is not selected according to high_chance.
- [NBT List / JSON Array] low_states: (Cannot be empty) List of block states to choose from when lower than threshold.
- [NBT Compound / JSON Object]: A block state.
- [NBT List / JSON Array] high_states: (Cannot be empty) List of block states to choose from when higher than threshold.
- [NBT Compound / JSON Object]: A block state.