beach, default, extreme, taiga, ocean, mountains, default_mutated, deep_ocean, lowlands, less_extreme, stone_beach, swamp, river, mushroom.
"minecraft_world_generation_rules" is the most important component of all, especially the "generate_for_climates" array. Basically, there are three climates in the game: "warm", "medium" and "cold". They are randomly thrown around every world when it's created [hard-coded]. Now, you can choose how often your custom biome will generate in every specific climate. If you do not provide anything in here, the default value is 0, for every climate, and the biome won't generate. In the example, the weight(the smaller the number, the smaller the chance of this biome generating instead of a vanilla one in the climate) for every climate is set to 100 for testing purposes: that makes the biome generate almost everywhere in the Overworld. Once I'm done with testing, however, I'll balance the weight how it's supposed to be. For example, the Vanilla desert has the weight of 3 for warm.
This component also takes Objects such as: hills_transformation, mutate_transformation, shore_transformation, river_transformation, but their meaning is unclear to me. Contributions are always appreciated. Same goes for the "surface_meaterial_adjustments" component.
And, last but not least, BIOME TAGS! They're very simple, but useful. You can set however many of the vanilla or custom tags you want, by adding them in this format in "components":
"tagName": {}
Then, you can test for your tag in environment_sensors, filters, has_biome tests, spawn rules, and more.
Your custom biome is now complete! Note: cold_biome as well as volcanic biomes are now included in the guide's files on GitHub.