Custom world generation/processor

自定义世界生成/processor
 * : Can be (replace blocks with custom rules), (Randomly remove blocks. The removed blocks do not replace by air, but will keep the old blocks before the structure being generated.), (Make blocks aged. Stones, stone bricks, cracked stone bricks have a chance of 0.5 to be replaced with cracked stone brick, stone brick stairs, or mossy stone bricks, mossy stone brick stairs. Stairs have a 0.5 chance to become stone half bricks, stone brick slabs, or mossy stone brick stairs, mossy stone brick slabs. Slabs and walls have a chance to become mossy slabs. Obsidians have a 0.15 chance to become crying obsidian.), (Remove specified blocks. The removed blocks do not replace by air, but will keep the old blocks before the structure being generated.), (Change the Y-level of blocks' positions to fit the terrain. Note that this is not used to make flaoting gravity blocks fall down.), (Specifies which blocks in the world cannot be overridden by this structure), (Replaced all stone-variant blocks with blackstone variants and iron bars with chains.), (Whether to preserve jigsaw blocks and structure void blocks. This processor is used by default unless generated in the jigsaw block GUI.), (Blocks with incomplete outline shapes will not be able to override the lava in the world), or (Do nothing).
 * If is, additional fields are as follows :
 * : (Required, but can be empty) A list of rules. Only the first rule that all conditions are met takes effect.
 * : A rule.
 * : (Optional, defaults to an "always_true" test) The test to apply to the distance from the structure start to this block.
 * : The test to apply to the block that will be placed
 * : The test to apply to this location block before the structure is generated.
 * : The block that will be placed when all conditions are met.
 * : (optional) The nbt data of the block entity placed if all conditions are met. Needs to be in JSON form, see NBT format.
 * If is, additional fields are as follows :
 * : The probability of randomly removing blocks in the structure. Value between 0 and 1.
 * : (optional) Blocks that can be removed. A block ID or a block tag, or a list of block IDs.
 * If is, additional fields are as follows :
 * : Values below 0.0 is treated as 0.0; values above 1.0 is treated as 1.0. The probability of using mossy variants when making a block aged.
 * If is, additional fields are as follows :
 * : (Required, but can be empty) IDs of blocks to ignore. Specifying block states has no effect.
 * : A block.
 * If is, additional fields are as follows :
 * : (optional, defaults to WORLD_SURFACE_WG) Must be one of (if not during world generation, fallbacks to  ), ,  (if not during world generation, fallbacks to  ),  ,  , or.
 * : (optional, defaults to 0) The offset relative to the terrain. For example: 0 is to place the structure on the ground, -1 is to sink one block into the ground.
 * If is, additional fields are as follows :
 * : A block tag.
 * If is, additional fields are as follows :
 * : (optional, defaults to WORLD_SURFACE_WG) Must be one of (if not during world generation, fallbacks to  ), ,  (if not during world generation, fallbacks to  ),  ,  , or.
 * : (optional, defaults to 0) The offset relative to the terrain. For example: 0 is to place the structure on the ground, -1 is to sink one block into the ground.
 * If is, additional fields are as follows :
 * : A block tag.