Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
gimpansor_worldgen_1.16.2 [2020/08/29 19:57] – gimpansor | gimpansor_worldgen_1.16.2 [2020/08/30 00:29] – gimpansor |
---|
| The following applies to 1.16.2 at the time this is written. |
| |
====== Changes from 1.16.1 ====== | ====== Changes from 1.16.1 ====== |
| |
* ''FabricBiomes#addSpawnBiome'' was removed, since this is now a property that can be set via Vanilla's ''Biome.Builder'' (see ''SpawnSettings.Builder#playerSpawnFriendly''). | * ''FabricBiomes#addSpawnBiome'' was removed, since this is now a property that can be set via Vanilla's ''Biome.Builder'' (see ''SpawnSettings.Builder#playerSpawnFriendly''). |
* Parent Biomes are gone and now hardcoded in ''AddHillsLayer#field_26727'' based on their raw ids. Since the mapping is from unmodified biome -> modified biome, there's no real point in exposing this to mods, because there can only be _one_ modified biome for each unmodified one. | * Parent Biomes are gone and now hardcoded in ''AddHillsLayer#field_26727'' based on their raw ids. Since the mapping is from unmodified biome -> modified biome, there's no real point in exposing this to mods, because there can only be _one_ modified biome for each unmodified one. |
| |
| ===== Worldgen Registries ===== |
| |
| The following diagram shows various objects that participate in defining world generation, and where they are registered/defined. |
| |
| The general rule of thumb is that ''Registry'' will contain objects that contain some form of custom code, while BuiltInRegistry contains built-in data objects that mostly reference code objects from an associate Registry by ID and sometimes add configuration data. |
| |
| As an example: |
| |
| * Vanilla registers an instance of the class ''OreFeature'' under the ID ''minecraft:ore'' in ''Registry.Feature''. |
| * Vanilla then registers 21 configured features in ''BuiltInRegistries.CONFIGURED_FEATURE'' that reference ''minecraft:ore'', and configure it differently (for example ''minecraft:ore_iron'' to place iron ore) |
| |
| For use in an actual world, all data objects from ''BuiltInRegistries'' will be copied by value into a new ''DynamicRegistryManager'' and may be overridden by JSON files in enabled data packs. |
| |
| {{:tutorial:worldgen_uml.png|}} |
| |
| |