Custom world generation/surface rule condition


 * : Type of the surface rule, one of:,  ,  ,  ,  ,  ,  ,  ,  ,  , or  . See below of extra fields for each type.
 * If is   (test for the biome), extra fields are as follows :
 * : (Required, but can be empty) List of biomes that result in true.
 * : The ID of a biome.
 * If is   (Success when the noise value at this XZ losction with Y=0 is within the specified closed interval), extra fields are as follows :
 * : The ID of a noise.
 * : Min threshold of the closed interval.
 * : Max threshold of the closed interval.
 * If is   (Makes the block fade upwards. Between the specified y-coords is the gradient itself. For example the gradient between bedrock and deepslate, or between deepslate and stone), extra fields are as follows :
 * : A namespace ID used as the seed of the random. For example, the gradient between bedrock and deepslate in the vanilla game is "minecraft:bedrock_floor", and the gradient between deepslate and stone is "minecraft:deepslate".
 * : Always succcess if the y-coord is at or below this value.
 * : Always fails if the y-coord is at or above this value. The y-coords between the two value produces a gradient, and the probability of success in this gradient is
 * If is   (checks if it is above a specified y-coord), extra fields are as follows :
 * : Minimum y level. Influenced by the noise "minecraft:surface", the minimum Y-level for which the condition succeeds is shifted upwards by 0 to 0 blocks relative to the anchor.
 * : Value between -20 and 20 (both inclusive). How much it is affected by the noise "minecraft:surface".
 * : Checks the value of the current Y-level plus the number of non-liquid blocks between the Y-level and the nearest air block directly above, instead of current Y-level.
 * If is   (checks if it is not below a certain height relative to the highest liquid block at this horizonal position), extra fields are as follows :
 * : The offset height relative to the highest liquid block at this horizonal position. Affected by the noise "minecraft:surface", the minimum Y-level for which the condition succeeds is shifted upwards by 0 to  blocks relative to the specified value.
 * : Value between -20 and 20 (both inclusive). How much it is affected by the noise "minecraft:surface".
 * : Checks the value of the current Y-level plus the number of non-liquid blocks between the Y-level and the nearest air block directly above, instead of current Y-level.
 * If is   (success when the biome temperature is low enough to snow. The biome temperature depends on the biome's   and   fields and the current Y-level), no extra fields.
 * If is   (checks current position for steep slopes that are back sun (north or east facing)), no extra fields.
 * If is   (inverts the condition), extra fields are as follows :
 * : The condition to invert.
 * If is   (check whether the contribution of noise   to the surface height at this horizonal location is relatively sunken rather than raised), no extra fields.
 * If is   (checks whether it is higher than the preliminary surface. The preliminary surface height mainly depends on the   value and is affected by the noise  ), no extra fields.
 * If is   (checks whether the distance between the current position and the terrain surface or the cave surface is less than or equal to the specified offset value), extra fields are as follows :
 * : The offset value.
 * : Whether to be affected by noise "minecraft:surface". If true, the maximum offset for the condition to succeed will be shifted upwards by 0 to 6 blocks.
 * : How much it is affected by the noise "minecraft:surface_secondary". The maximum offset for the condition to succeed will be shifted upwards by 0 to  blocks.
 * : Either  or  . If , checks the distance to the nearest liquid or air block directly below. If  , check the number of non-liquid blocks between current position and the nearest air block directly above.
 * : The offset value.
 * : Whether to be affected by noise "minecraft:surface". If true, the maximum offset for the condition to succeed will be shifted upwards by 0 to 6 blocks.
 * : How much it is affected by the noise "minecraft:surface_secondary". The maximum offset for the condition to succeed will be shifted upwards by 0 to  blocks.
 * : Either  or  . If , checks the distance to the nearest liquid or air block directly below. If  , check the number of non-liquid blocks between current position and the nearest air block directly above.