Custom world generation/block state provider


 * : The type of the block state provider. One of (specifies a block state directly),  (rotates axially-rotated block, such as logs, chain),  (chooses a block state from a weighted list),  (assigns a random value to an integer block property),  (randomly choose a block state according to a noise value),  (randomly choose a block state according to two noise values), or  (use different block state when a noise value above or below the threshold).
 * If  is , additional fields are as follows :
 * : The block state to use.
 * If  is , additional fields are as follows :
 * : The block ID to use. The block properties are ignored.
 * If  is , additional fields are as follows :
 * : A weighted list of block state entries.
 * A block state and its corresponding weight.
 * : The block state to use.
 * : The weight of this entry.
 * If is, additional fields are as follows :
 * : The name of a block property.
 * : The value of the block property.
 * : Another block state provider that specifies the source of the block state.
 * If is, additional fields are as follows :
 * : The seed of the noise.
 * : A noise.
 * : Horizontal scale of the noise. Must be a positive value.
 * : List of optional block states.
 * : A block state.
 * If is, additional fields are as follows :
 * : The seed of the noise.
 * : A noise.
 * : Horizontal scale of noise. Must be a positive value.
 * : The noise used for the first selection.
 * : Horizontal scale of the slow noise. Must be a positive value.
 * : The number of block states that seleted out by slow noise.
 * : The min number of block states after selection by slow noise. Must be an integer greater than 1.
 * : The max number of block states after selection by slow noise. Must be an integer less than 64, and must be greater than.
 * : List of block states to choose from.
 * : A block state.
 * If is, additional fields are as follows :
 * : The seed of the noise.
 * : A noise.
 * : Horizontal scale of noise. Must be a positive value.
 * : 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 will be selected.
 * : Value between -1.0 and 1.0 (inclusive). If the noise value is higher than the threshold, the block states in will be selected with a probability of high_chance.
 * : Default block state. These block states is used when the noise value is higher than but high_states is not selected according to high_chance.
 * : List of block states to choose from when lower than threshold.
 * : A block state.
 * : List of block states to choose from when higher than threshold.
 * : A block state.
 * : 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 will be selected.
 * : Value between -1.0 and 1.0 (inclusive). If the noise value is higher than the threshold, the block states in will be selected with a probability of high_chance.
 * : Default block state. These block states is used when the noise value is higher than but high_states is not selected according to high_chance.
 * : List of block states to choose from when lower than threshold.
 * : A block state.
 * : List of block states to choose from when higher than threshold.
 * : A block state.
 * : List of block states to choose from when higher than threshold.
 * : A block state.