Minecraft wiki entry for data_types, associated text:  Blockstate Provider:[needs testing] This structure is used to define more advanced settings for generating a block state.
 type: The type of provider to use. Must be one of "simple_state_provider", "weighted_state_provider", "plain_flower_provider", "forest_flower_provider", or "rotated_block_provider".
If type is simple_state_provider or rotated_block_provider:
 state: A blockstate
 Name: The namespaced id of the block to use.
 Properties: Block states
 state: A block state key and its value.
If type is weighted_state_provider:
 entries: A list of blockstates to choose from.
A blockstate and its corresponding weight.
 weight: The weight of this blockstate to be randomly chosen; a higher weight increases the chance.
 data: A blockstate
 Name: The namespaced id of the block to use.
 Properties: Block states
 state: A block state key and its value.