Feature generation/1.19.3-0.3: Difference between revisions
(Created page with " == Technical background == Starting in 1.19.3 [https://gist.github.com/ChampionAsh5357/c21724bafbc630da2ed8899fe0c1d226#no-in-code-entries-in-dynamic-registries dynamic registries are no longer ''conventionally'' done in code] and must be done in JSON files (ignoring datagen). This means that mods shouldn't really have <code>ConfiguredFeature<?,?></code> or <code>PlacedFeature</code> objects anymore as a part of their codebase as it should be done data-driven in JSON fi...") |
|||
| Line 8: | Line 8: | ||
=== Biome modifiers === | === Biome modifiers === | ||
{| class="wikitable sortable" style="font-size: 1.15em; width=100%" | |||
! JSON entry | |||
! Whitelisted Biome tag | |||
! Blacklisted Biome tag | |||
! Triangular placement | |||
! Count | |||
! Bottom Anchor | |||
! Top Anchor | |||
! Rarity | |||
|- | |||
| <code>bauxite_ore_beach</code> | |||
| <code>minecraft:is_beach</code> | |||
| {{unknown|None}} | |||
| {{Yes}} | |||
| 8 | |||
| 62 | |||
| 92 | |||
| 0 | |||
|- | |||
| <code>bauxite_ore_mountain_high</code> | |||
| <code>minecraft:is_mountain</code> | |||
| <code>forge:is_snowy</code> | |||
| {{Yes}} | |||
| 9 | |||
| 208 | |||
| 256 | |||
| 0 | |||
|- | |||
| <code>bauxite_ore_mountain_medium</code> | |||
| <code>minecraft:is_mountain</code> | |||
| <code>forge:is_snowy</code> | |||
| {{Yes}} | |||
| 6 | |||
| 144 | |||
| 196 | |||
| 0 | |||
|- | |||
| <code>bauxite_ore_mountain_low</code> | |||
| <code>minecraft:is_mountain</code> | |||
| <code>forge:is_snowy</code> | |||
| {{Yes}} | |||
| 10 | |||
| 96 | |||
| 140 | |||
| 0 | |||
|- | |||
| <code>bauxite_ore_overworld</code> | |||
| <code>minecraft:is_overworld</code> | |||
| {{Unknown|None}} | |||
| {{No}} | |||
| 10 | |||
| 10 | |||
| 60 | |||
| 0 | |||
|- | |||
| <code>cinnabar_ore_beach</code> | |||
| <code>minecraft:is_beach</code> | |||
| {{Unknown|None}} | |||
| {{Yes}} | |||
| 2 | |||
| 62 | |||
| 92 | |||
| 1 | |||
|- | |||
| <code>cinnabar_ore_mountains</code> | |||
| <code>minecraft:is_mountain</code> | |||
| {{Unknown|None}} | |||
| {{Yes}} | |||
| 7 | |||
| 102 | |||
| 292 | |||
| 0 | |||
|- | |||
| <code>cinnabar_ore_overworld</code> | |||
| <code>minecraft:is_overworld</code> | |||
| {{Unknown|None}} | |||
| {{No}} | |||
| 9 | |||
| -64 | |||
| 320 | |||
| 0 | |||
|- | |||
| <code>eighzo_ore_end</code> | |||
| <code>minecraft:is_end</code> | |||
| {{Unknown|None}} | |||
| {{No}} | |||
| 3 | |||
| 10 | |||
| 36 | |||
| 0 | |||
|- | |||
| <code>galena_ore_overworld</code> | |||
| <code>minecraft:is_overworld</code> | |||
| {{Unknown|None}} | |||
| {{No}} | |||
| 3 | |||
| -48 | |||
| 12 | |||
| 0 | |||
|- | |||
| <code>rutile_ore_overworld</code> | |||
| <code>minecraft:is_overworld</code> | |||
| {{Unknown|None}} | |||
| {{No}} | |||
| 3 | |||
| -64 | |||
| -32 | |||
| 0 | |||
|- | |||
| <code>saltpeter_ore_badlands</code> | |||
| <code>minecraft:is_badlands</code> | |||
| <code>minecraft:is_beach</code><br><code>forge:is_water</code> | |||
| {{Yes}} | |||
| 1 | |||
| 55 | |||
| 77 | |||
| 10 | |||
|- | |||
| <code>saltpeter_ore_hot_sandy</code> | |||
| <code>forge:is_hot</code><br><code>forge:is_sandy</code> | |||
| <code>minecraft:is_beach</code><br><code>forge:is_water</code> | |||
| {{No}} | |||
| 4 | |||
| 55 | |||
| 320 | |||
| 0 | |||
|} | |||
=== Feature configuration === | === Feature configuration === | ||
Latest revision as of 22:07, 30 January 2023
Technical background
Starting in 1.19.3 dynamic registries are no longer conventionally done in code and must be done in JSON files (ignoring datagen). This means that mods shouldn't really have ConfiguredFeature<?,?> or PlacedFeature objects anymore as a part of their codebase as it should be done data-driven in JSON files.
Voluminous Energy has moved all it's configured features to JSON files under /worldgen/configured_feature. While placed features should similarly go under their respective folder in worldgen, Voluminous Energy exclusively relies on its VEAndedMultiBiomeModifier to dynamically generate PlacedFeature objects at runtime. Though, this may be considered bad practice since these placement objects aren't registered. Despite this, they still work when injected into biomes when Forge runs Biome Modifiers.
Ore blob features
Biome modifiers
| JSON entry | Whitelisted Biome tag | Blacklisted Biome tag | Triangular placement | Count | Bottom Anchor | Top Anchor | Rarity |
|---|---|---|---|---|---|---|---|
bauxite_ore_beach
|
minecraft:is_beach
|
None | Yes | 8 | 62 | 92 | 0 |
bauxite_ore_mountain_high
|
minecraft:is_mountain
|
forge:is_snowy
|
Yes | 9 | 208 | 256 | 0 |
bauxite_ore_mountain_medium
|
minecraft:is_mountain
|
forge:is_snowy
|
Yes | 6 | 144 | 196 | 0 |
bauxite_ore_mountain_low
|
minecraft:is_mountain
|
forge:is_snowy
|
Yes | 10 | 96 | 140 | 0 |
bauxite_ore_overworld
|
minecraft:is_overworld
|
None | No | 10 | 10 | 60 | 0 |
cinnabar_ore_beach
|
minecraft:is_beach
|
None | Yes | 2 | 62 | 92 | 1 |
cinnabar_ore_mountains
|
minecraft:is_mountain
|
None | Yes | 7 | 102 | 292 | 0 |
cinnabar_ore_overworld
|
minecraft:is_overworld
|
None | No | 9 | -64 | 320 | 0 |
eighzo_ore_end
|
minecraft:is_end
|
None | No | 3 | 10 | 36 | 0 |
galena_ore_overworld
|
minecraft:is_overworld
|
None | No | 3 | -48 | 12 | 0 |
rutile_ore_overworld
|
minecraft:is_overworld
|
None | No | 3 | -64 | -32 | 0 |
saltpeter_ore_badlands
|
minecraft:is_badlands
|
minecraft:is_beachforge:is_water
|
Yes | 1 | 55 | 77 | 10 |
saltpeter_ore_hot_sandy
|
forge:is_hotforge:is_sandy
|
minecraft:is_beachforge:is_water
|
No | 4 | 55 | 320 | 0 |
Feature configuration
As mentioned in the technical background, configured features are now defined in JSON files.
| JSON entry | Targets | Size | Discard |
|---|---|---|---|
saltpeter_ore_blob
|
forge:ore_bearing_ground/sand/colorless_sandforge:ore_bearing_ground/sand/red_sand
|
33 | 0 |
bauxite_ore_blob
|
minecraft:stone_ore_replaceablesminecraft:deepslate_ore_replaceables
|
8 | |
cinnabar_ore_blob
|
6 | ||
galena_ore_blob
| |||
rutile_ore_blob
|
4 | 0.75 | |
eighzo_ore_blob
|
forge:ore_bearing_ground/end_stone
|
0.5 |