Custom world generation/structure

* The root tag
** : The ID of structure feature type.
** : Biomes that this structure is allowed to generate in. Can be a biome ID or a biome tag, or a list of biome IDs.
** : The step where the structure generates. See also the features field in custom biome. Structure features are generated prior to features in the same step. One of raw_generation, lakes, local_modifications, underground_structures, surface_structures, strongholds, underground_ores, underground_decoration, fluid_springs, vegetal_decoration, and top_layer_modification.
** : (Optional, defaults to none) The type of terrain adaptation used for the structure . none for no adaptation, beard_thin is used by pillager outposts and villages, beard_box is used by ancient cities, and bury is used by strongholds.
** : (Required, but can be empty. If this object doesn't contain a certain category, the category's spawn setting won't be overridden, and mobs are spawned based on biome.) Overrides the mobs that can spawn in this structure. Used for things like blaze and wither skeleton spawning in nether fortresses, and can also be used to block mobs from spawning like in ancient cities.
*** : The key must be one of monster, creature, ambient, water_creature, underground_water_creature, water_ambient, misc, or axolotls.
**** ：Can be piece or full. If full, overrides spawn setting inside the full bounding box of the structure. If piece, only the bounding boxs of all structure pieces.
**** ：(Required, but can be empty. If empty, mobs in this category will not be spawned) A list of spawner data objects, one for each mob which should spawn in this biome.
***** : The spawner data for a single mob.
****** : The namespaced entity id of the mob.
****** : How often this mob should spawn, higher values produce more spawns.
****** : The minimum count of mobs to spawn in a pack. Must be greater than 0.
****** : The maximum count of mobs to spawn in a pack. Must be greater than 0. And must be not less than .
**;If type is minecraft:jigsaw, additional fields are as follows:
**: The structure pool the structure starts from. Can be an ID of structure pool, or a structure pool object.
**: The depth of jigsaw structures to generate. Value between 0 and 7 (inclusive).
**: If project_start_to_heightmap is unset, the structure will start at the value provided. Otherwise, the value acts as an offset from the heightmap.
*** 
**: (optional) The heightmap the start height should project to. Can be WORLD_SURFACE_WG, WORLD_SURFACE, OCEAN_FLOOR_WG, OCEAN_FLOOR, MOTION_BLOCKING, or MOTION_BLOCKING_NO_LEAVES.
**: (optional) The name of the jigsaw block the structure start attaches to.
**: The maximum 3D Chebyshev distance from the jigsaw pieces to the structure start. Value between 1 and 128 (inclusive) when is "none", otherwise from 1 to 116 (inclusive).
**: Only used in villages.
**;If type is minecraft:mineshaft, additional fields are as follows:
**: Either normal or mesa. normal for mineshaft made of oak, while mesa for mineshaft made of dark oak.
**;If type is minecraft:nether_fossil, additional fields are as follows:
**: The y-value that the structure will start.
*** 
**;If type is minecraft:ocean_ruin, additional fields are as follows:
**: Either warm or cold. Determines which variant this structure uses.
** : The probability of this structure using the large variant buildings. Value between 0.0 and 1.0 (inclusive).
** : The probability of a cluster of ocean ruins generating, instead of just one. Value between 0.0 and 1.0 (inclusive).
**;If type is minecraft:ruined_portal, additional fields are as follows:
**: (Cannot be empty) A list of ruined portal setups to randomly choose one from it.
***: The weight this ruined portal setup will be chosen.
***: Either on_land_surface, partly_buried, on_ocean_floor, in_mountain, underground, in_nether. Determines how the ruined portal will be placed.
***: The probability that the ruined portal will generate an air pocket around it. Value between 0.0 and 1.0 (inclusive).
***: Determines how mossy the ruined portal is, as an argument for minecraft:block_age processor. Value between 0.0 and 1.0 (inclusive).
***: Determines whether or not jungle leaves generate.
***: Determines whether or not vines generate on the ruined portal.
***: Determines whether or not lava and magma can be replaced with netherrack. 
***: Determines whether or not stone bricks in the ruined portal will be replaced with their blackstone equivalents.
**;If type is minecraft:shipwreck, additional fields are as follows:
**: (optional, defaults to false) Whether or not the shipwreck is beached.
ja:カスタムワールド生成/structure
zh:自定义世界生成/structure