Jump to content

Feature generation/1.19.3-0.3: Difference between revisions

From Voluminous Energy
Content deleted Content added
Theme-aware styling and dark mode for MediaWiki 1.47 (site-pages/Feature_generation_1.19.3-0.3.wiki)
Theme-aware styling and dark mode for MediaWiki 1.47 (site-pages/Feature_generation_1.19.3-0.3.wiki)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
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 [[Feature generation/1.20.2-0.5|0.5 Alpha 1]] and [[Feature generation/1.21.1-0.5 Alpha 2|0.5 Alpha 2]].


== Technical background ==
== 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 files.
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 files.


Voluminous Energy has [https://github.com/MikeTheShadow/VoluminousEnergy/tree/1.19.3-exp/src/main/resources/data/voluminousenergy/worldgen/configured_feature moved] all it's configured features to JSON files under <code>/worldgen/configured_feature</code>. While placed features should similarly go under their respective folder in worldgen, Voluminous Energy exclusively relies on its <code>VEAndedMultiBiomeModifier</code> to dynamically generate <code>PlacedFeature</code> 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.
Voluminous Energy has [https://github.com/MikeTheShadow/VoluminousEnergy/tree/1.19.3-exp/src/main/resources/data/voluminousenergy/worldgen/configured_feature moved] all its configured features to JSON files under <code>/worldgen/configured_feature</code>. While placed features should similarly go under their respective folder in worldgen, Voluminous Energy exclusively relies on its <code>VEAndedMultiBiomeModifier</code> to dynamically generate <code>PlacedFeature</code> 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.
== Ore blob features ==

== Biome modifiers ==
=== Reading the biome modifier table ===
Each biome modifier is a JSON file in <code>data/voluminousenergy/forge/biome_modifier/</code> using Voluminous Energy's <code>anded_biome_modifier</code>:
* '''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.


<div class="ve-scroll">
=== Biome modifiers ===
{| class="wikitable sortable" style="font-size: 1.15em; width:100%"
{| class="wikitable sortable" style="width:100%"
|+ Biome modifiers (<code>voluminousenergy:anded_biome_modifier</code>)
! JSON entry
! JSON entry !! Feature !! Whitelisted biome tags (all required) !! Blacklisted biome tags (any excludes) !! Triangular placement !! Count !! Bottom anchor !! Top anchor !! Rarity !! Generation step
! Whitelisted Biome tag
! Blacklisted Biome tag
! Triangular placement
! Count
! Bottom Anchor
! Top Anchor
! Rarity
|-
|-
| <code>bauxite_deposit_overworld</code> || <code>voluminousenergy:bauxite_deposit</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{Yes}} || 1 || 10 || 60 || 64 || Underground Decoration
| <code>bauxite_ore_beach</code>
| <code>minecraft:is_beach</code>
| {{unknown|None}}
| {{Yes}}
| 8
| 62
| 92
| 0
|-
|-
| <code>bauxite_ore_beach</code> || <code>voluminousenergy:bauxite_ore_blob</code> || <code>minecraft:is_beach</code> || {{Unknown|None}} || {{Yes}} || 8 || 62 || 92 || 0 || Underground Ores
| <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_high</code> || <code>voluminousenergy:bauxite_ore_blob</code> || <code>minecraft:is_mountain</code> || <code>forge:is_snowy</code> || {{Yes}} || 9 || 208 || 256 || 0 || Underground Ores
| <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>voluminousenergy:bauxite_ore_blob</code> || <code>minecraft:is_mountain</code> || <code>forge:is_snowy</code> || {{Yes}} || 10 || 96 || 140 || 0 || Underground Ores
| <code>bauxite_ore_mountain_low</code>
| <code>minecraft:is_mountain</code>
| <code>forge:is_snowy</code>
| {{Yes}}
| 10
| 96
| 140
| 0
|-
|-
| <code>bauxite_ore_mountain_medium</code> || <code>voluminousenergy:bauxite_ore_blob</code> || <code>minecraft:is_mountain</code> || <code>forge:is_snowy</code> || {{Yes}} || 6 || 144 || 196 || 0 || Underground Ores
| <code>bauxite_ore_overworld</code>
| <code>minecraft:is_overworld</code>
| {{Unknown|None}}
| {{No}}
| 10
| 10
| 60
| 0
|-
|-
| <code>bauxite_ore_overworld</code> || <code>voluminousenergy:bauxite_ore_blob</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{No}} || 10 || 10 || 60 || 0 || Underground Ores
| <code>cinnabar_ore_beach</code>
| <code>minecraft:is_beach</code>
| {{Unknown|None}}
| {{Yes}}
| 2
| 62
| 92
| 1
|-
|-
| <code>cinnabar_deposit_overworld</code> || <code>voluminousenergy:cinnabar_deposit</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{Yes}} || 1 || -64 || 320 || 56 || Underground Decoration
| <code>cinnabar_ore_mountains</code>
| <code>minecraft:is_mountain</code>
| {{Unknown|None}}
| {{Yes}}
| 7
| 102
| 292
| 0
|-
|-
| <code>cinnabar_ore_beach</code> || <code>voluminousenergy:cinnabar_ore_blob</code> || <code>minecraft:is_beach</code> || {{Unknown|None}} || {{Yes}} || 2 || 62 || 92 || 1 || Underground Ores
| <code>cinnabar_ore_overworld</code>
| <code>minecraft:is_overworld</code>
| {{Unknown|None}}
| {{No}}
| 9
| -64
| 320
| 0
|-
|-
| <code>cinnabar_ore_mountains</code> || <code>voluminousenergy:cinnabar_ore_blob</code> || <code>minecraft:is_mountain</code> || {{Unknown|None}} || {{Yes}} || 7 || 102 || 292 || 0 || Underground Ores
| <code>eighzo_ore_end</code>
| <code>minecraft:is_end</code>
| {{Unknown|None}}
| {{No}}
| 3
| 10
| 36
| 0
|-
|-
| <code>cinnabar_ore_overworld</code> || <code>voluminousenergy:cinnabar_ore_blob</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{No}} || 9 || -64 || 320 || 0 || Underground Ores
| <code>galena_ore_overworld</code>
| <code>minecraft:is_overworld</code>
| {{Unknown|None}}
| {{No}}
| 3
| -48
| 12
| 0
|-
|-
| <code>copper_deposit_overworld</code> || <code>voluminousenergy:copper_deposit</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{Yes}} || 1 || -16 || 112 || 26 || Underground Decoration
| <code>rutile_ore_overworld</code>
| <code>minecraft:is_overworld</code>
| {{Unknown|None}}
| {{No}}
| 3
| -64
| -32
| 0
|-
|-
| <code>eighzo_deposit_end</code> || <code>voluminousenergy:eighzo_deposit</code> || <code>minecraft:is_end</code> || {{Unknown|None}} || {{Yes}} || 1 || 10 || 36 || 192 || Underground Decoration
| <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>eighzo_ore_end</code> || <code>voluminousenergy:eighzo_ore_blob</code> || <code>minecraft:is_end</code> || {{Unknown|None}} || {{No}} || 3 || 10 || 36 || 0 || Underground Ores
| <code>saltpeter_ore_hot_sandy</code>
|-
| <code>forge:is_hot</code><br><code>forge:is_sandy</code>
| <code>galena_deposit_overworld</code> || <code>voluminousenergy:galena_deposit</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{Yes}} || 1 || -48 || 12 || 78 || Underground Decoration
| <code>minecraft:is_beach</code><br><code>forge:is_water</code>
|-
| {{No}}
| <code>galena_ore_overworld</code> || <code>voluminousenergy:galena_ore_blob</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{No}} || 3 || -48 || 12 || 0 || Underground Ores
| 4
| 55
|-
| <code>gold_deposit_overworld</code> || <code>voluminousenergy:gold_deposit</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{Yes}} || 1 || -64 || -48 || 112 || Underground Decoration
| 320
| 0
|-
| <code>iron_deposit_overworld</code> || <code>voluminousenergy:iron_deposit</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{Yes}} || 1 || -64 || 74 || 56 || Underground Decoration
|-
| <code>oil_geyser_overworld</code> || <code>voluminousenergy:oil_geyser</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{No}} || 1 || -64 || 320 || 144 || Fluid Springs
|-
| <code>rice_crop_overworld</code> || <code>voluminousenergy:rice_crop</code> || <code>minecraft:is_overworld</code> || <code>minecraft:is_ocean</code> || {{No}} || 4 || 55 || 320 || 0 || Vegetal Decoration
|-
| <code>rutile_deposit_overworld</code> || <code>voluminousenergy:rutile_deposit</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{Yes}} || 1 || -64 || -48 || 128 || Underground Decoration
|-
| <code>rutile_ore_overworld</code> || <code>voluminousenergy:rutile_ore_blob</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{No}} || 3 || -64 || -32 || 0 || Underground Ores
|-
| <code>saltpeter_ore_badlands</code> || <code>voluminousenergy:saltpeter_ore_blob</code> || <code>minecraft:is_badlands</code> || <code>minecraft:is_beach</code><br><code>forge:is_water</code> || {{Yes}} || 1 || 55 || 77 || 10 || Underground Ores
|-
| <code>saltpeter_ore_hot_sandy</code> || <code>voluminousenergy:saltpeter_ore_blob</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 || Underground Ores
|-
| <code>surface_oil_lake_overworld</code> || <code>voluminousenergy:surface_oil_lake</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{No}} || 1 || -64 || 320 || 208 || Lakes
|-
| <code>underground_oil_lakes_overworld</code> || <code>voluminousenergy:underground_oil_lake</code> || <code>minecraft:is_overworld</code> || {{Unknown|None}} || {{No}} || 1 || -64 || 320 || 5 || Lakes
|}
</div>

== Ore blob features ==
<div class="ve-scroll">
{| class="wikitable sortable" style="width:100%"
|+ Ore blob configured features (<code>minecraft:ore</code>)
! JSON entry !! Targets (block placed in replaceable tag) !! Size !! Discard chance on air exposure
|-
| <code>bauxite_ore_blob</code> || Bauxite Ore in <code>minecraft:stone_ore_replaceables</code><br>Deepslate Bauxite Ore in <code>minecraft:deepslate_ore_replaceables</code> || 8 || 0.0
|-
| <code>cinnabar_ore_blob</code> || Cinnabar Ore in <code>minecraft:stone_ore_replaceables</code><br>Deepslate Cinnabar Ore in <code>minecraft:deepslate_ore_replaceables</code> || 6 || 0.0
|-
| <code>eighzo_ore_blob</code> || Eighzo Ore in <code>forge:ore_bearing_ground/end_stone</code> || 4 || 0.5
|-
| <code>galena_ore_blob</code> || Galena Ore in <code>minecraft:stone_ore_replaceables</code><br>Deepslate Galena Ore in <code>minecraft:deepslate_ore_replaceables</code> || 6 || 0.0
|-
| <code>rutile_ore_blob</code> || Rutile Ore in <code>minecraft:stone_ore_replaceables</code><br>Deepslate Rutile Ore in <code>minecraft:deepslate_ore_replaceables</code> || 4 || 0.75
|-
| <code>saltpeter_ore_blob</code> || Saltpeter Ore in <code>forge:ore_bearing_ground/sand/colorless_sand</code><br>Red Saltpeter Ore in <code>forge:ore_bearing_ground/sand/red_sand</code> || 33 || 0.0
|}
|}
</div>


=== Feature configuration ===
== Ore deposit features ==
[[List of ore deposits|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.
As mentioned in the technical background, configured features are now defined in JSON files.


<div class="ve-scroll">
{| class="wikitable sortable" style="font-size: 1.15em; width:100%"
{| class="wikitable sortable" style="width:100%"
|+ Ore blob configuration data
|+ Ore deposit configured features (<code>voluminousenergy:ve_ore_deposit_feature</code>)
! JSON entry !! Outer ore block !! Core (raw) block
|-
|-
| <code>bauxite_deposit</code> || Bauxite Ore || Raw Bauxite Block
! JSON entry
! Targets
! Size
! Discard
|-
|-
| <code>saltpeter_ore_blob</code>
| <code>cinnabar_deposit</code> || Cinnabar Ore || Raw Cinnabar Block
| <code>forge:ore_bearing_ground/sand/colorless_sand</code><br><code>forge:ore_bearing_ground/sand/red_sand</code>
| 33
| rowspan="4" | 0
|-
|-
| <code>bauxite_ore_blob</code>
| <code>copper_deposit</code> || Copper Ore || Raw Copper Block
| rowspan="4" | <code>minecraft:stone_ore_replaceables</code><br><code>minecraft:deepslate_ore_replaceables</code>
| 8
|-
|-
| <code>cinnabar_ore_blob</code>
| <code>eighzo_deposit</code> || Eighzo Ore || Raw Eighzo Block
| rowspan="2" | 6
|-
|-
| <code>galena_ore_blob</code>
| <code>galena_deposit</code> || Galena Ore || Raw Galena Block
|-
|-
| <code>rutile_ore_blob</code>
| <code>gold_deposit</code> || Gold Ore || Raw Gold Block
| rowspan="2" | 4
| 0.75
|-
|-
| <code>eighzo_ore_blob</code>
| <code>iron_deposit</code> || Iron Ore || Raw Iron Block
|-
| <code>forge:ore_bearing_ground/end_stone</code>
| <code>rutile_deposit</code> || Rutile Ore || Raw Rutile Block
| 0.5
|}
|}
</div>


== Crude Oil and Rice features ==
[[Crude Oil lake|Crude Oil lakes]] come in a surface and an underground variant, which are placed separately so that lakes appear on the surface reasonably often. [[Crude Oil geyser|Geysers]] are tall columns of Crude Oil.


<div class="ve-scroll">

{| class="wikitable sortable" style="width:100%"
|+ Fluid and plant configured features
! JSON entry !! Feature type !! Fluid / block !! Perimeter (shell) blocks
|-
| <code>oil_geyser</code> || <code>voluminousenergy:ve_geyser_feature</code> || Crude Oil || {{Unknown|None}}
|-
| <code>rice_crop</code> || <code>voluminousenergy:ve_rice_feature</code> || Rice Crop || {{Unknown|None}}
|-
| <code>surface_oil_lake</code> || <code>voluminousenergy:ve_bsc_surface_lake_feature</code> || Crude Oil || {{Unknown|None}}
|-
| <code>underground_oil_lake</code> || <code>voluminousenergy:ve_bsc_underground_lakes_feature</code> || Crude Oil || {{Unknown|None}}
|}
</div>


[[Category:Feature generation]]
[[Category:Feature generation]]

Latest revision as of 12:05, 15 October 2026

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