Jump to content

Feature generation/1.19.3-0.3

From Voluminous Energy

This page covers Voluminous Energy's feature generation for 1.19.3 (0.3 and 0.4), 1.19.4, 1.20 and 1.20.1 (0.4). The world generation data is identical in all of these releases. For the 0.5 train, see 0.5 Alpha 1 and 0.5 Alpha 2.

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 its 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.

All of this data can be overridden with a datapack using the same file paths.

Biome modifiers

Reading the biome modifier table

Each biome modifier is a JSON file in data/voluminousenergy/forge/biome_modifier/ using Voluminous Energy's anded_biome_modifier:

  • Whitelisted biome tags: a biome must be in every listed tag.
  • Blacklisted biome tags: a biome in any listed tag is skipped.
  • Count: placement attempts per chunk.
  • Rarity: each attempt only goes ahead on average once every rarity chunks. 0 and 1 both mean every time.
  • Triangular placement: if enabled, heights between the anchors are biased towards the middle of the range, as with vanilla's diamond and redstone. Otherwise they are uniform.
  • Bottom/Top anchor: absolute Y levels.
Biome modifiers (voluminousenergy:anded_biome_modifier)
JSON entryFeatureWhitelisted biome tags (all required)Blacklisted biome tags (any excludes)Triangular placementCountBottom anchorTop anchorRarityGeneration step
bauxite_deposit_overworldvoluminousenergy:bauxite_depositminecraft:is_overworldNoneYes1106064Underground Decoration
bauxite_ore_beachvoluminousenergy:bauxite_ore_blobminecraft:is_beachNoneYes862920Underground Ores
bauxite_ore_mountain_highvoluminousenergy:bauxite_ore_blobminecraft:is_mountainforge:is_snowyYes92082560Underground Ores
bauxite_ore_mountain_lowvoluminousenergy:bauxite_ore_blobminecraft:is_mountainforge:is_snowyYes10961400Underground Ores
bauxite_ore_mountain_mediumvoluminousenergy:bauxite_ore_blobminecraft:is_mountainforge:is_snowyYes61441960Underground Ores
bauxite_ore_overworldvoluminousenergy:bauxite_ore_blobminecraft:is_overworldNoneNo1010600Underground Ores
cinnabar_deposit_overworldvoluminousenergy:cinnabar_depositminecraft:is_overworldNoneYes1-6432056Underground Decoration
cinnabar_ore_beachvoluminousenergy:cinnabar_ore_blobminecraft:is_beachNoneYes262921Underground Ores
cinnabar_ore_mountainsvoluminousenergy:cinnabar_ore_blobminecraft:is_mountainNoneYes71022920Underground Ores
cinnabar_ore_overworldvoluminousenergy:cinnabar_ore_blobminecraft:is_overworldNoneNo9-643200Underground Ores
copper_deposit_overworldvoluminousenergy:copper_depositminecraft:is_overworldNoneYes1-1611226Underground Decoration
eighzo_deposit_endvoluminousenergy:eighzo_depositminecraft:is_endNoneYes11036192Underground Decoration
eighzo_ore_endvoluminousenergy:eighzo_ore_blobminecraft:is_endNoneNo310360Underground Ores
galena_deposit_overworldvoluminousenergy:galena_depositminecraft:is_overworldNoneYes1-481278Underground Decoration
galena_ore_overworldvoluminousenergy:galena_ore_blobminecraft:is_overworldNoneNo3-48120Underground Ores
gold_deposit_overworldvoluminousenergy:gold_depositminecraft:is_overworldNoneYes1-64-48112Underground Decoration
iron_deposit_overworldvoluminousenergy:iron_depositminecraft:is_overworldNoneYes1-647456Underground Decoration
oil_geyser_overworldvoluminousenergy:oil_geyserminecraft:is_overworldNoneNo1-64320144Fluid Springs
rice_crop_overworldvoluminousenergy:rice_cropminecraft:is_overworldminecraft:is_oceanNo4553200Vegetal Decoration
rutile_deposit_overworldvoluminousenergy:rutile_depositminecraft:is_overworldNoneYes1-64-48128Underground Decoration
rutile_ore_overworldvoluminousenergy:rutile_ore_blobminecraft:is_overworldNoneNo3-64-320Underground Ores
saltpeter_ore_badlandsvoluminousenergy:saltpeter_ore_blobminecraft:is_badlandsminecraft:is_beach
forge:is_water
Yes1557710Underground Ores
saltpeter_ore_hot_sandyvoluminousenergy:saltpeter_ore_blobforge:is_hot
forge:is_sandy
minecraft:is_beach
forge:is_water
No4553200Underground Ores
surface_oil_lake_overworldvoluminousenergy:surface_oil_lakeminecraft:is_overworldNoneNo1-64320208Lakes
underground_oil_lakes_overworldvoluminousenergy:underground_oil_lakeminecraft:is_overworldNoneNo1-643205Lakes

Ore blob features

Ore blob configured features (minecraft:ore)
JSON entryTargets (block placed in replaceable tag)SizeDiscard chance on air exposure
bauxite_ore_blobBauxite Ore in minecraft:stone_ore_replaceables
Deepslate Bauxite Ore in minecraft:deepslate_ore_replaceables
80.0
cinnabar_ore_blobCinnabar Ore in minecraft:stone_ore_replaceables
Deepslate Cinnabar Ore in minecraft:deepslate_ore_replaceables
60.0
eighzo_ore_blobEighzo Ore in forge:ore_bearing_ground/end_stone40.5
galena_ore_blobGalena Ore in minecraft:stone_ore_replaceables
Deepslate Galena Ore in minecraft:deepslate_ore_replaceables
60.0
rutile_ore_blobRutile Ore in minecraft:stone_ore_replaceables
Deepslate Rutile Ore in minecraft:deepslate_ore_replaceables
40.75
saltpeter_ore_blobSaltpeter Ore in forge:ore_bearing_ground/sand/colorless_sand
Red Saltpeter Ore in forge:ore_bearing_ground/sand/red_sand
330.0

Ore deposit features

Ore deposits are lake-shaped pockets: the inside is the raw block of the resource, and the edge is the ore block where it meets stone. If "Disallow surface ore deposits" is enabled in the common config, deposits are not placed where they can see the sky.

Ore deposit configured features (voluminousenergy:ve_ore_deposit_feature)
JSON entryOuter ore blockCore (raw) block
bauxite_depositBauxite OreRaw Bauxite Block
cinnabar_depositCinnabar OreRaw Cinnabar Block
copper_depositCopper OreRaw Copper Block
eighzo_depositEighzo OreRaw Eighzo Block
galena_depositGalena OreRaw Galena Block
gold_depositGold OreRaw Gold Block
iron_depositIron OreRaw Iron Block
rutile_depositRutile OreRaw Rutile Block

Crude Oil and Rice features

Crude Oil lakes come in a surface and an underground variant, which are placed separately so that lakes appear on the surface reasonably often. Geysers are tall columns of Crude Oil.

Fluid and plant configured features
JSON entryFeature typeFluid / blockPerimeter (shell) blocks
oil_geyservoluminousenergy:ve_geyser_featureCrude OilNone
rice_cropvoluminousenergy:ve_rice_featureRice CropNone
surface_oil_lakevoluminousenergy:ve_bsc_surface_lake_featureCrude OilNone
underground_oil_lakevoluminousenergy:ve_bsc_underground_lakes_featureCrude OilNone