From a77c3f986fdce8517293934c98eefdd8bc1cab90 Mon Sep 17 00:00:00 2001 From: Satherov Date: Tue, 21 Apr 2026 00:23:50 +0200 Subject: [PATCH] Add missing vanilla ores to the mining dimension and increase spawn rates --- .../biome_modifier/mining/aluminum.json | 2 +- .../biome_modifier/mining/cinnabar.json | 2 +- .../biome_modifier/mining/fluorite.json | 2 +- .../biome_modifier/mining/iridium.json | 2 +- .../neoforge/biome_modifier/mining/lead.json | 2 +- .../biome_modifier/mining/nickel.json | 2 +- .../biome_modifier/mining/osmium.json | 2 +- .../biome_modifier/mining/peridot.json | 2 +- .../biome_modifier/mining/platinum.json | 2 +- .../neoforge/biome_modifier/mining/ruby.json | 2 +- .../neoforge/biome_modifier/mining/salt.json | 2 +- .../biome_modifier/mining/sapphire.json | 2 +- .../biome_modifier/mining/silver.json | 2 +- .../biome_modifier/mining/sulfur.json | 2 +- .../neoforge/biome_modifier/mining/tin.json | 2 +- .../biome_modifier/mining/uranium.json | 2 +- .../neoforge/biome_modifier/mining/zinc.json | 2 +- .../allthemodium/worldgen/biome/mining.json | 26 ++ .../{netherite.json => mining/glowstone.json} | 4 +- .../mining/ore_aluminum.json | 45 ++ .../mining/ore_ancient_debris_large.json | 18 + .../mining/ore_ancient_debris_small.json | 18 + .../mining/ore_cinnabar.json | 45 ++ .../{coal.json => mining/ore_coal.json} | 0 .../ore_copper_large.json} | 0 .../mining/ore_copper_small.json | 27 ++ .../mining/ore_diamond_buried.json | 27 ++ .../ore_diamond_large.json} | 0 .../mining/ore_diamond_medium.json | 27 ++ .../mining/ore_diamond_small.json | 27 ++ .../{emerald.json => mining/ore_emerald.json} | 0 .../mining/ore_fluorite.json | 45 ++ .../{gold.json => mining/ore_gold.json} | 11 +- .../mining/ore_gold_buried.json | 27 ++ .../mining/ore_iridium.json | 45 ++ .../{iron.json => mining/ore_iron.json} | 0 .../mining/ore_iron_small.json | 27 ++ .../{lapis.json => mining/ore_lapis.json} | 0 .../mining/ore_lapis_buried.json | 27 ++ .../configured_feature/mining/ore_lead.json | 45 ++ .../mining/ore_nether_gold.json | 18 + .../configured_feature/mining/ore_nickel.json | 45 ++ .../configured_feature/mining/ore_osmium.json | 45 ++ .../mining/ore_peridot.json | 45 ++ .../mining/ore_platinum.json | 45 ++ .../{quartz.json => mining/ore_quartz.json} | 0 .../ore_redstone.json} | 0 .../configured_feature/mining/ore_ruby.json | 45 ++ .../configured_feature/mining/ore_salt.json | 45 ++ .../mining/ore_sapphire.json | 45 ++ .../configured_feature/mining/ore_silver.json | 45 ++ .../configured_feature/mining/ore_sulfur.json | 45 ++ .../configured_feature/mining/ore_tin.json | 45 ++ .../mining/ore_uranium.json | 45 ++ .../configured_feature/mining/ore_zinc.json | 45 ++ .../placed_feature/allthemodium_mining.json | 5 +- .../glowstone.json} | 9 +- .../placed_feature/mining/ore_aluminum.json | 28 ++ .../mining/ore_ancient_debris_large.json | 24 + .../placed_feature/mining/ore_cinnabar.json | 28 ++ .../ore_coal_lower.json} | 11 +- .../ore_coal_upper.json} | 9 +- .../ore_copper.json} | 9 +- .../ore_copper_large.json} | 9 +- .../mining/ore_debris_small.json | 24 + .../placed_feature/mining/ore_diamond.json | 28 ++ .../mining/ore_diamond_buried.json | 28 ++ .../mining/ore_diamond_large.json | 28 ++ .../mining/ore_diamond_medium.json | 28 ++ .../{emerald.json => mining/ore_emerald.json} | 9 +- .../placed_feature/mining/ore_fluorite.json | 28 ++ .../placed_feature/mining/ore_gold.json | 28 ++ .../ore_gold_deltas.json} | 9 +- .../placed_feature/mining/ore_gold_extra.json | 28 ++ .../placed_feature/mining/ore_gold_lower.json | 32 ++ .../ore_gold_nether.json} | 9 +- .../ore_iridium.json} | 9 +- .../ore_iron_middle.json} | 9 +- .../placed_feature/mining/ore_iron_small.json | 28 ++ .../ore_iron_upper.json} | 9 +- .../placed_feature/mining/ore_lapis.json | 28 ++ .../mining/ore_lapis_buried.json | 28 ++ .../placed_feature/mining/ore_lead.json | 28 ++ .../placed_feature/mining/ore_nickel.json | 28 ++ .../placed_feature/mining/ore_osmium.json | 28 ++ .../placed_feature/mining/ore_peridot.json | 28 ++ .../placed_feature/mining/ore_platinum.json | 28 ++ .../ore_quartz_deltas.json} | 11 +- .../mining/ore_quartz_nether.json | 28 ++ .../ore_redstone.json} | 9 +- .../mining/ore_redstone_lower.json | 28 ++ .../placed_feature/mining/ore_ruby.json | 28 ++ .../placed_feature/mining/ore_salt.json | 28 ++ .../placed_feature/mining/ore_sapphire.json | 28 ++ .../placed_feature/mining/ore_silver.json | 28 ++ .../placed_feature/mining/ore_sulfur.json | 28 ++ .../{gold.json => mining/ore_tin.json} | 9 +- .../placed_feature/mining/ore_uranium.json | 28 ++ .../placed_feature/mining/ore_zinc.json | 28 ++ .../allthemods/allthemodium/AllTheModium.java | 3 - .../provider/tags/ATMBlockTagsProvider.java | 4 +- .../data/worldgen/ATMBiomeModifier.java | 2 +- .../allthemodium/data/worldgen/ATMBiomes.java | 37 ++ .../data/worldgen/ATMConfiguredFeatures.java | 222 +++++++-- .../data/worldgen/ATMPlacedFeatures.java | 426 ++++++++++++------ 105 files changed, 2439 insertions(+), 281 deletions(-) rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{netherite.json => mining/glowstone.json} (82%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_aluminum.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_large.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_small.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_cinnabar.json rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{coal.json => mining/ore_coal.json} (100%) rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{copper_large.json => mining/ore_copper_large.json} (100%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_copper_small.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_buried.json rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{diamond_large.json => mining/ore_diamond_large.json} (100%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_medium.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_small.json rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{emerald.json => mining/ore_emerald.json} (100%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_fluorite.json rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{gold.json => mining/ore_gold.json} (70%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_gold_buried.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iridium.json rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{iron.json => mining/ore_iron.json} (100%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iron_small.json rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{lapis.json => mining/ore_lapis.json} (100%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lapis_buried.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lead.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nether_gold.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nickel.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_osmium.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_peridot.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_platinum.json rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{quartz.json => mining/ore_quartz.json} (100%) rename src/generated/resources/data/allthemodium/worldgen/configured_feature/{redstone.json => mining/ore_redstone.json} (100%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ruby.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_salt.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sapphire.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_silver.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sulfur.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_tin.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_uranium.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_zinc.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{redstone_lower.json => mining/glowstone.json} (72%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_aluminum.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ancient_debris_large.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_cinnabar.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{diamond_large.json => mining/ore_coal_lower.json} (63%) rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{coal_upper.json => mining/ore_coal_upper.json} (67%) rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{copper_large.json => mining/ore_copper.json} (66%) rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{quartz_nether.json => mining/ore_copper_large.json} (66%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_debris_small.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_buried.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_large.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_medium.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{emerald.json => mining/ore_emerald.json} (66%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_fluorite.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{coal_lower.json => mining/ore_gold_deltas.json} (71%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_extra.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_lower.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{iron_middle.json => mining/ore_gold_nether.json} (71%) rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{netherite.json => mining/ore_iridium.json} (66%) rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{iron_small.json => mining/ore_iron_middle.json} (67%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_small.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{iron_upper.json => mining/ore_iron_upper.json} (67%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis_buried.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lead.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_nickel.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_osmium.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_peridot.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_platinum.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{lapis.json => mining/ore_quartz_deltas.json} (68%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_quartz_nether.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{redstone.json => mining/ore_redstone.json} (66%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_redstone_lower.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ruby.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_salt.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sapphire.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_silver.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sulfur.json rename src/generated/resources/data/allthemodium/worldgen/placed_feature/{gold.json => mining/ore_tin.json} (67%) create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_uranium.json create mode 100644 src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_zinc.json diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/aluminum.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/aluminum.json index 22e9fe24..c9675599 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/aluminum.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/aluminum.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_aluminum_placed", + "features": "allthemodium:mining/ore_aluminum", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/cinnabar.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/cinnabar.json index e9d9230b..c08839c7 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/cinnabar.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/cinnabar.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_cinnabar_placed", + "features": "allthemodium:mining/ore_cinnabar", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/fluorite.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/fluorite.json index c882f321..c755a730 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/fluorite.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/fluorite.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_fluorite_placed", + "features": "allthemodium:mining/ore_fluorite", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/iridium.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/iridium.json index 36f8ef83..687f6f38 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/iridium.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/iridium.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_iridium_placed", + "features": "allthemodium:mining/ore_iridium", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/lead.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/lead.json index 29fdd1bb..63706537 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/lead.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/lead.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_lead_placed", + "features": "allthemodium:mining/ore_lead", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/nickel.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/nickel.json index c5b3cf10..1d6768f5 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/nickel.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/nickel.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_nickel_placed", + "features": "allthemodium:mining/ore_nickel", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/osmium.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/osmium.json index d6f395f8..a2e9bc38 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/osmium.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/osmium.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_osmium_placed", + "features": "allthemodium:mining/ore_osmium", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/peridot.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/peridot.json index 65d8856b..4dfbdd52 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/peridot.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/peridot.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_peridot_placed", + "features": "allthemodium:mining/ore_peridot", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/platinum.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/platinum.json index fecd8ced..2d4111eb 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/platinum.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/platinum.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_platinum_placed", + "features": "allthemodium:mining/ore_platinum", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/ruby.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/ruby.json index 5a27c82a..038923a5 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/ruby.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/ruby.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_ruby_placed", + "features": "allthemodium:mining/ore_ruby", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/salt.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/salt.json index d500fc74..b4b0abb3 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/salt.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/salt.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_salt_placed", + "features": "allthemodium:mining/ore_salt", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sapphire.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sapphire.json index b841d72b..e949bf8a 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sapphire.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sapphire.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_sapphire_placed", + "features": "allthemodium:mining/ore_sapphire", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/silver.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/silver.json index a0e4f39a..01931782 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/silver.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/silver.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_silver_placed", + "features": "allthemodium:mining/ore_silver", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sulfur.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sulfur.json index d1a88942..37623576 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sulfur.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/sulfur.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_sulfur_placed", + "features": "allthemodium:mining/ore_sulfur", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/tin.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/tin.json index 58359ca5..f2b2a597 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/tin.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/tin.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_tin_placed", + "features": "allthemodium:mining/ore_tin", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/uranium.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/uranium.json index b96555eb..e67e9c95 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/uranium.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/uranium.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_uranium_placed", + "features": "allthemodium:mining/ore_uranium", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/zinc.json b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/zinc.json index 9a591352..969216c5 100644 --- a/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/zinc.json +++ b/src/generated/resources/data/allthemodium/neoforge/biome_modifier/mining/zinc.json @@ -1,6 +1,6 @@ { "type": "neoforge:add_features", "biomes": "allthemodium:mining", - "features": "alltheores:ore_zinc_placed", + "features": "allthemodium:mining/ore_zinc", "step": "underground_ores" } \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/biome/mining.json b/src/generated/resources/data/allthemodium/worldgen/biome/mining.json index 4e2b5881..c75e0875 100644 --- a/src/generated/resources/data/allthemodium/worldgen/biome/mining.json +++ b/src/generated/resources/data/allthemodium/worldgen/biome/mining.json @@ -19,6 +19,32 @@ [], [], [ + "allthemodium:mining/ore_coal_lower", + "allthemodium:mining/ore_coal_upper", + "allthemodium:mining/ore_copper", + "allthemodium:mining/ore_copper_large", + "allthemodium:mining/ore_iron_small", + "allthemodium:mining/ore_iron_middle", + "allthemodium:mining/ore_iron_upper", + "allthemodium:mining/ore_gold", + "allthemodium:mining/ore_gold_extra", + "allthemodium:mining/ore_gold_lower", + "allthemodium:mining/ore_gold_deltas", + "allthemodium:mining/ore_gold_nether", + "allthemodium:mining/ore_redstone", + "allthemodium:mining/ore_redstone_lower", + "allthemodium:mining/ore_lapis", + "allthemodium:mining/ore_lapis_buried", + "allthemodium:mining/ore_diamond", + "allthemodium:mining/ore_diamond_buried", + "allthemodium:mining/ore_diamond_medium", + "allthemodium:mining/ore_diamond_large", + "allthemodium:mining/ore_emerald", + "allthemodium:mining/ore_quartz_deltas", + "allthemodium:mining/ore_quartz_nether", + "allthemodium:mining/ore_debris_small", + "allthemodium:mining/ore_ancient_debris_large", + "allthemodium:mining/glowstone", "allthemodium:allthemodium_mining" ] ], diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/netherite.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/glowstone.json similarity index 82% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/netherite.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/glowstone.json index 139c31d2..69ab4279 100644 --- a/src/generated/resources/data/allthemodium/worldgen/configured_feature/netherite.json +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/glowstone.json @@ -2,11 +2,11 @@ "type": "minecraft:ore", "config": { "discard_chance_on_air_exposure": 0.0, - "size": 5, + "size": 8, "targets": [ { "state": { - "Name": "minecraft:ancient_debris" + "Name": "minecraft:glowstone" }, "target": { "block": "minecraft:netherrack", diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_aluminum.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_aluminum.json new file mode 100644 index 00000000..adaca480 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_aluminum.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:aluminum_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_aluminum_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_aluminum_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_aluminum_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_large.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_large.json new file mode 100644 index 00000000..dd844579 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_large.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:scattered_ore", + "config": { + "discard_chance_on_air_exposure": 1.0, + "size": 3, + "targets": [ + { + "state": { + "Name": "minecraft:ancient_debris" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_small.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_small.json new file mode 100644 index 00000000..207fb6ee --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ancient_debris_small.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:scattered_ore", + "config": { + "discard_chance_on_air_exposure": 1.0, + "size": 2, + "targets": [ + { + "state": { + "Name": "minecraft:ancient_debris" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_cinnabar.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_cinnabar.json new file mode 100644 index 00000000..c8514d7e --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_cinnabar.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 27, + "targets": [ + { + "state": { + "Name": "alltheores:cinnabar_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_cinnabar_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_cinnabar_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_cinnabar_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/coal.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_coal.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/coal.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_coal.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/copper_large.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_copper_large.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/copper_large.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_copper_large.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_copper_small.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_copper_small.json new file mode 100644 index 00000000..b9809375 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_copper_small.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 10, + "targets": [ + { + "state": { + "Name": "minecraft:copper_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate_copper_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_buried.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_buried.json new file mode 100644 index 00000000..8f529fe4 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_buried.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 1.0, + "size": 8, + "targets": [ + { + "state": { + "Name": "minecraft:diamond_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate_diamond_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/diamond_large.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_large.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/diamond_large.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_large.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_medium.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_medium.json new file mode 100644 index 00000000..aa20fc8b --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_medium.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.5, + "size": 8, + "targets": [ + { + "state": { + "Name": "minecraft:diamond_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate_diamond_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_small.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_small.json new file mode 100644 index 00000000..cddd59e2 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_diamond_small.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.5, + "size": 4, + "targets": [ + { + "state": { + "Name": "minecraft:diamond_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate_diamond_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/emerald.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_emerald.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/emerald.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_emerald.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_fluorite.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_fluorite.json new file mode 100644 index 00000000..078ba87a --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_fluorite.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 27, + "targets": [ + { + "state": { + "Name": "alltheores:fluorite_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_fluorite_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_fluorite_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_fluorite_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/gold.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_gold.json similarity index 70% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/gold.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_gold.json index a408f483..cba3856d 100644 --- a/src/generated/resources/data/allthemodium/worldgen/configured_feature/gold.json +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_gold.json @@ -2,7 +2,7 @@ "type": "minecraft:ore", "config": { "discard_chance_on_air_exposure": 0.0, - "size": 18, + "size": 9, "targets": [ { "state": { @@ -21,15 +21,6 @@ "predicate_type": "minecraft:tag_match", "tag": "minecraft:deepslate_ore_replaceables" } - }, - { - "state": { - "Name": "minecraft:nether_gold_ore" - }, - "target": { - "predicate_type": "minecraft:tag_match", - "tag": "minecraft:base_stone_nether" - } } ] } diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_gold_buried.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_gold_buried.json new file mode 100644 index 00000000..9a85c4a5 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_gold_buried.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.5, + "size": 9, + "targets": [ + { + "state": { + "Name": "minecraft:gold_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate_gold_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iridium.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iridium.json new file mode 100644 index 00000000..74232ea9 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iridium.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 10, + "targets": [ + { + "state": { + "Name": "alltheores:iridium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_iridium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_iridium_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_iridium_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/iron.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iron.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/iron.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iron.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iron_small.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iron_small.json new file mode 100644 index 00000000..edb954b2 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_iron_small.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 4, + "targets": [ + { + "state": { + "Name": "minecraft:iron_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate_iron_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/lapis.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lapis.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/lapis.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lapis.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lapis_buried.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lapis_buried.json new file mode 100644 index 00000000..c6429558 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lapis_buried.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 1.0, + "size": 7, + "targets": [ + { + "state": { + "Name": "minecraft:lapis_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate_lapis_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lead.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lead.json new file mode 100644 index 00000000..6351bf71 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_lead.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:lead_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_lead_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_lead_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_lead_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nether_gold.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nether_gold.json new file mode 100644 index 00000000..2010286a --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nether_gold.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 10, + "targets": [ + { + "state": { + "Name": "minecraft:nether_gold_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nickel.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nickel.json new file mode 100644 index 00000000..676444c3 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_nickel.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:nickel_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_nickel_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_nickel_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_nickel_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_osmium.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_osmium.json new file mode 100644 index 00000000..56899791 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_osmium.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:osmium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_osmium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_osmium_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_osmium_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_peridot.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_peridot.json new file mode 100644 index 00000000..ac31edbe --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_peridot.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 7, + "targets": [ + { + "state": { + "Name": "alltheores:peridot_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_peridot_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_peridot_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_peridot_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_platinum.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_platinum.json new file mode 100644 index 00000000..980a0001 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_platinum.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:platinum_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_platinum_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_platinum_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_platinum_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/quartz.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_quartz.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/quartz.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_quartz.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/redstone.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_redstone.json similarity index 100% rename from src/generated/resources/data/allthemodium/worldgen/configured_feature/redstone.json rename to src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_redstone.json diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ruby.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ruby.json new file mode 100644 index 00000000..797471c9 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_ruby.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 7, + "targets": [ + { + "state": { + "Name": "alltheores:ruby_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_ruby_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_ruby_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_ruby_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_salt.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_salt.json new file mode 100644 index 00000000..cca096d8 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_salt.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 27, + "targets": [ + { + "state": { + "Name": "alltheores:salt_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_salt_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_salt_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_salt_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sapphire.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sapphire.json new file mode 100644 index 00000000..068718a1 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sapphire.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 7, + "targets": [ + { + "state": { + "Name": "alltheores:sapphire_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_sapphire_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_sapphire_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_sapphire_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_silver.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_silver.json new file mode 100644 index 00000000..e804b002 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_silver.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:silver_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_silver_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_silver_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_silver_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sulfur.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sulfur.json new file mode 100644 index 00000000..39ca70f7 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_sulfur.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 17, + "targets": [ + { + "state": { + "Name": "alltheores:sulfur_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_sulfur_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_sulfur_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_sulfur_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_tin.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_tin.json new file mode 100644 index 00000000..71352c5e --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_tin.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:tin_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_tin_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_tin_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_tin_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_uranium.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_uranium.json new file mode 100644 index 00000000..6d39cf38 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_uranium.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:uranium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_uranium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_uranium_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_uranium_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_zinc.json b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_zinc.json new file mode 100644 index 00000000..166648c2 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/configured_feature/mining/ore_zinc.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 24, + "targets": [ + { + "state": { + "Name": "alltheores:zinc_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:deepslate_zinc_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + }, + { + "state": { + "Name": "alltheores:nether_zinc_ore" + }, + "target": { + "block": "minecraft:netherrack", + "predicate_type": "minecraft:block_match" + } + }, + { + "state": { + "Name": "alltheores:end_zinc_ore" + }, + "target": { + "block": "minecraft:end_stone", + "predicate_type": "minecraft:block_match" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/allthemodium_mining.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/allthemodium_mining.json index 59dc9297..48c6f298 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/allthemodium_mining.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/allthemodium_mining.json @@ -11,9 +11,10 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "absolute": 129 + "absolute": 247 }, "min_inclusive": { "absolute": 65 diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/redstone_lower.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/glowstone.json similarity index 72% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/redstone_lower.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/glowstone.json index ce25fba1..b02fb10d 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/redstone_lower.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/glowstone.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_redstone", + "feature": "allthemodium:mining/glowstone", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 24, "max_inclusive": { - "above_bottom": 190 + "absolute": 64 }, "min_inclusive": { - "absolute": 64 + "absolute": 1 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_aluminum.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_aluminum.json new file mode 100644 index 00000000..d17660a7 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_aluminum.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_aluminum", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ancient_debris_large.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ancient_debris_large.json new file mode 100644 index 00000000..26495d6e --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ancient_debris_large.json @@ -0,0 +1,24 @@ +{ + "feature": "allthemodium:mining/ore_ancient_debris_large", + "placement": [ + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 24, + "max_inclusive": { + "absolute": 64 + }, + "min_inclusive": { + "absolute": 1 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_cinnabar.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_cinnabar.json new file mode 100644 index 00000000..d9b21716 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_cinnabar.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_cinnabar", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/diamond_large.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_coal_lower.json similarity index 63% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/diamond_large.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_coal_lower.json index 80a6a655..7b13c0ee 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/diamond_large.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_coal_lower.json @@ -1,9 +1,9 @@ { - "feature": "allthemodium:diamond_large", + "feature": "allthemodium:mining/ore_coal", "placement": [ { "type": "minecraft:count", - "count": 6 + "count": 20 }, { "type": "minecraft:in_square" @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "above_bottom": 176 + "absolute": 247 }, "min_inclusive": { - "above_bottom": 96 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/coal_upper.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_coal_upper.json similarity index 67% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/coal_upper.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_coal_upper.json index 973c39b7..99eb523d 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/coal_upper.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_coal_upper.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_coal", + "feature": "allthemodium:mining/ore_coal", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "below_top": 0 + "absolute": 247 }, "min_inclusive": { - "absolute": 136 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/copper_large.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_copper.json similarity index 66% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/copper_large.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_copper.json index ab158b18..fb8f825f 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/copper_large.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_copper.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_copper_large", + "feature": "allthemodium:mining/ore_copper_small", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "absolute": 312 + "absolute": 247 }, "min_inclusive": { - "absolute": -16 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/quartz_nether.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_copper_large.json similarity index 66% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/quartz_nether.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_copper_large.json index d1b7b09c..c5dd86e2 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/quartz_nether.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_copper_large.json @@ -1,5 +1,5 @@ { - "feature": "allthemodium:quartz", + "feature": "allthemodium:mining/ore_copper_large", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "above_bottom": 128 + "absolute": 247 }, "min_inclusive": { - "above_bottom": 64 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_debris_small.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_debris_small.json new file mode 100644 index 00000000..e5fe1fb7 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_debris_small.json @@ -0,0 +1,24 @@ +{ + "feature": "allthemodium:mining/ore_ancient_debris_small", + "placement": [ + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 24, + "max_inclusive": { + "absolute": 64 + }, + "min_inclusive": { + "absolute": 1 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond.json new file mode 100644 index 00000000..d4aa1d8b --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_diamond_small", + "placement": [ + { + "type": "minecraft:count", + "count": 7 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_buried.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_buried.json new file mode 100644 index 00000000..f17b9eeb --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_buried.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_diamond_buried", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_large.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_large.json new file mode 100644 index 00000000..90e54896 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_large.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_diamond_large", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 9 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_medium.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_medium.json new file mode 100644 index 00000000..8a63885e --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_diamond_medium.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_diamond_medium", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/emerald.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_emerald.json similarity index 66% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/emerald.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_emerald.json index c1309320..0fd332cf 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/emerald.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_emerald.json @@ -1,5 +1,5 @@ { - "feature": "allthemodium:emerald", + "feature": "allthemodium:mining/ore_emerald", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "absolute": 480 + "absolute": 247 }, "min_inclusive": { - "absolute": -16 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_fluorite.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_fluorite.json new file mode 100644 index 00000000..3bd54a73 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_fluorite.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_fluorite", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold.json new file mode 100644 index 00000000..0a34b5c9 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_gold_buried", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/coal_lower.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_deltas.json similarity index 71% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/coal_lower.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_deltas.json index c5ea1a32..1c745b05 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/coal_lower.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_deltas.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_coal_buried", + "feature": "allthemodium:mining/ore_nether_gold", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 24, "max_inclusive": { - "absolute": 192 + "absolute": 64 }, "min_inclusive": { - "absolute": 64 + "absolute": 1 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_extra.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_extra.json new file mode 100644 index 00000000..6151dbdb --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_extra.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_gold", + "placement": [ + { + "type": "minecraft:count", + "count": 50 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_lower.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_lower.json new file mode 100644 index 00000000..c9d05cf5 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_lower.json @@ -0,0 +1,32 @@ +{ + "feature": "allthemodium:mining/ore_gold_buried", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:uniform", + "max_inclusive": 1, + "min_inclusive": 0 + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_middle.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_nether.json similarity index 71% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_middle.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_nether.json index 1718f728..601b94cd 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_middle.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_gold_nether.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_iron", + "feature": "allthemodium:mining/ore_nether_gold", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 24, "max_inclusive": { - "absolute": 156 + "absolute": 64 }, "min_inclusive": { - "absolute": 64 + "absolute": 1 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/netherite.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iridium.json similarity index 66% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/netherite.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iridium.json index ea0847b2..a26275b7 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/netherite.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iridium.json @@ -1,5 +1,5 @@ { - "feature": "allthemodium:netherite", + "feature": "allthemodium:mining/ore_iridium", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 216, "max_inclusive": { - "absolute": 132 + "absolute": 247 }, "min_inclusive": { - "absolute": 0 + "absolute": -63 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_small.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_middle.json similarity index 67% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_small.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_middle.json index 0eb072af..cac004e9 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_small.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_middle.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_iron_small", + "feature": "allthemodium:mining/ore_iron", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "absolute": 200 + "absolute": 247 }, "min_inclusive": { - "above_bottom": 128 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_small.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_small.json new file mode 100644 index 00000000..5bc89501 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_small.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_iron_small", + "placement": [ + { + "type": "minecraft:count", + "count": 10 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_upper.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_upper.json similarity index 67% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_upper.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_upper.json index e096548e..eff11066 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/iron_upper.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_iron_upper.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_iron", + "feature": "allthemodium:mining/ore_iron", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "absolute": 384 + "absolute": 247 }, "min_inclusive": { - "absolute": 80 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis.json new file mode 100644 index 00000000..9f62e237 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_lapis", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis_buried.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis_buried.json new file mode 100644 index 00000000..f1b171db --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lapis_buried.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_lapis_buried", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lead.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lead.json new file mode 100644 index 00000000..df7b0229 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_lead.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_lead", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_nickel.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_nickel.json new file mode 100644 index 00000000..41ac51a0 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_nickel.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_nickel", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_osmium.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_osmium.json new file mode 100644 index 00000000..d191bc27 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_osmium.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_osmium", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_peridot.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_peridot.json new file mode 100644 index 00000000..67d2c06f --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_peridot.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_peridot", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_platinum.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_platinum.json new file mode 100644 index 00000000..111b6951 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_platinum.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_platinum", + "placement": [ + { + "type": "minecraft:count", + "count": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/lapis.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_quartz_deltas.json similarity index 68% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/lapis.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_quartz_deltas.json index 1e91d655..9906e48d 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/lapis.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_quartz_deltas.json @@ -1,9 +1,9 @@ { - "feature": "minecraft:ore_lapis", + "feature": "allthemodium:mining/ore_quartz", "placement": [ { "type": "minecraft:count", - "count": 2 + "count": 32 }, { "type": "minecraft:in_square" @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 24, "max_inclusive": { - "absolute": 150 + "absolute": 64 }, "min_inclusive": { - "absolute": 64 + "absolute": 1 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_quartz_nether.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_quartz_nether.json new file mode 100644 index 00000000..943c7d16 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_quartz_nether.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_quartz", + "placement": [ + { + "type": "minecraft:count", + "count": 16 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 24, + "max_inclusive": { + "absolute": 64 + }, + "min_inclusive": { + "absolute": 1 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/redstone.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_redstone.json similarity index 66% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/redstone.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_redstone.json index 75917d85..3bbc5f87 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/redstone.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_redstone.json @@ -1,5 +1,5 @@ { - "feature": "minecraft:ore_redstone", + "feature": "allthemodium:mining/ore_redstone", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:biased_to_bottom", + "inner": 112, "max_inclusive": { - "absolute": 205 + "absolute": 247 }, "min_inclusive": { - "above_bottom": 128 + "absolute": 65 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_redstone_lower.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_redstone_lower.json new file mode 100644 index 00000000..18f12c9f --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_redstone_lower.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_redstone", + "placement": [ + { + "type": "minecraft:count", + "count": 8 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 112, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": 65 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ruby.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ruby.json new file mode 100644 index 00000000..44fcc67a --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_ruby.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_ruby", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_salt.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_salt.json new file mode 100644 index 00000000..a5aba96b --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_salt.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_salt", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sapphire.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sapphire.json new file mode 100644 index 00000000..d03dc9a7 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sapphire.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_sapphire", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_silver.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_silver.json new file mode 100644 index 00000000..198a7711 --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_silver.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_silver", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sulfur.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sulfur.json new file mode 100644 index 00000000..837b326a --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_sulfur.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_sulfur", + "placement": [ + { + "type": "minecraft:count", + "count": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/gold.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_tin.json similarity index 67% rename from src/generated/resources/data/allthemodium/worldgen/placed_feature/gold.json rename to src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_tin.json index c66e8983..4694f6f4 100644 --- a/src/generated/resources/data/allthemodium/worldgen/placed_feature/gold.json +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_tin.json @@ -1,5 +1,5 @@ { - "feature": "allthemodium:gold", + "feature": "allthemodium:mining/ore_tin", "placement": [ { "type": "minecraft:count", @@ -11,12 +11,13 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:trapezoid", + "type": "minecraft:biased_to_bottom", + "inner": 216, "max_inclusive": { - "absolute": 132 + "absolute": 247 }, "min_inclusive": { - "absolute": 0 + "absolute": -63 } } }, diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_uranium.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_uranium.json new file mode 100644 index 00000000..f84ecd2d --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_uranium.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_uranium", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_zinc.json b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_zinc.json new file mode 100644 index 00000000..7bf11fad --- /dev/null +++ b/src/generated/resources/data/allthemodium/worldgen/placed_feature/mining/ore_zinc.json @@ -0,0 +1,28 @@ +{ + "feature": "allthemodium:mining/ore_zinc", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:biased_to_bottom", + "inner": 216, + "max_inclusive": { + "absolute": 247 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/java/net/allthemods/allthemodium/AllTheModium.java b/src/main/java/net/allthemods/allthemodium/AllTheModium.java index 0c44d5a2..5f57bd97 100644 --- a/src/main/java/net/allthemods/allthemodium/AllTheModium.java +++ b/src/main/java/net/allthemods/allthemodium/AllTheModium.java @@ -3,9 +3,6 @@ import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModContainer; import net.neoforged.fml.common.Mod; -import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.event.entity.player.PlayerEvent; -import net.neoforged.neoforge.server.ServerLifecycleHooks; import net.allthemods.allthemodium.api.ATM; import net.allthemods.allthemodium.core.registry.ATMBlocks; diff --git a/src/main/java/net/allthemods/allthemodium/data/provider/tags/ATMBlockTagsProvider.java b/src/main/java/net/allthemods/allthemodium/data/provider/tags/ATMBlockTagsProvider.java index 92cd2aa3..76188834 100644 --- a/src/main/java/net/allthemods/allthemodium/data/provider/tags/ATMBlockTagsProvider.java +++ b/src/main/java/net/allthemods/allthemodium/data/provider/tags/ATMBlockTagsProvider.java @@ -87,8 +87,8 @@ protected void addTags(HolderLookup.Provider registries) { this.tag(BlockTags.BEACON_BASE_BLOCKS) .add( - ATMBlocks.ALLTHEMODIUM_BLOCK.get(), - ATMBlocks.VIBRANIUM_BLOCK.get(), + ATMBlocks.ALLTHEMODIUM_BLOCK.get(), + ATMBlocks.VIBRANIUM_BLOCK.get(), ATMBlocks.UNOBTAINIUM_BLOCK.get() ); diff --git a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomeModifier.java b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomeModifier.java index b48cb486..82a2117a 100644 --- a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomeModifier.java +++ b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomeModifier.java @@ -60,7 +60,7 @@ public static void bootstrap(final BootstrapContext ctx) { ATMBiomeModifier.create("mining/" + material.getGroup()), new BiomeModifiers.AddFeaturesBiomeModifier( HolderSet.direct(biomes.getOrThrow(ATMBiomes.MINING)), - HolderSet.direct(placed.getOrThrow(material.getPlacedOreFeatureKey())), + HolderSet.direct(placed.getOrThrow(ATMPlacedFeatures.mining(material))), GenerationStep.Decoration.UNDERGROUND_ORES ) ); diff --git a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomes.java b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomes.java index ef953f2c..ca5c89ea 100644 --- a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomes.java +++ b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMBiomes.java @@ -53,6 +53,43 @@ public static void bootstrap(final BootstrapContext ctx) { ATMBiomes.builder(false, 1.0F, 0.0F) .specialEffects(ATMBiomes.effects(0x3F76E4, 0x2BBB0F, 0x55C93F)) .generationSettings(new BiomeGenerationSettings.Builder(features, carvers) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_COAL_LOWER)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_COAL_UPPER)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_COPPER)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_COPPER_LARGE)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_IRON_SMALL)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_IRON_MIDDLE)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_IRON_UPPER)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_GOLD)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_GOLD_EXTRA)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_GOLD_LOWER)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_GOLD_DELTAS)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_GOLD_NETHER)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_REDSTONE)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_REDSTONE_LOWER)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_LAPIS)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_LAPIS_BURIED)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_DIAMOND)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_DIAMOND_BURIED)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_DIAMOND_MEDIUM)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_DIAMOND_LARGE)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_EMERALD)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_QUARTZ_DELTAS)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_QUARTZ_NETHER)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_DEBRIS_SMALL)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_ANCIENT_DEBRIS_LARGE)) + + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ORE_GLOWSTONE)) + .addFeature(GenerationStep.Decoration.UNDERGROUND_ORES, features.getOrThrow(ATMPlacedFeatures.ALLTHEMODIUM_MINING)) .build() ) diff --git a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMConfiguredFeatures.java b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMConfiguredFeatures.java index ae448d21..da81baae 100644 --- a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMConfiguredFeatures.java +++ b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMConfiguredFeatures.java @@ -10,6 +10,7 @@ import net.minecraft.util.valueproviders.IntProvider; import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.util.valueproviders.WeightedListInt; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.LeavesBlock; import net.minecraft.world.level.block.RedStoneOreBlock; @@ -33,13 +34,17 @@ import net.minecraft.world.level.levelgen.feature.trunkplacers.FancyTrunkPlacer; import net.minecraft.world.level.levelgen.feature.trunkplacers.ForkingTrunkPlacer; import net.minecraft.world.level.levelgen.structure.templatesystem.BlockMatchTest; +import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; import net.allthemods.allthemodium.api.ATM; import net.allthemods.allthemodium.common.blocks.AncientCaveVines; import net.allthemods.allthemodium.core.registry.ATMBlocks; import net.allthemods.allthemodium.core.registry.ATMFluids; +import net.allthemods.alltheores.common.material.Material; +import net.allthemods.alltheores.common.parts.BlockPartType; +import java.util.ArrayList; import java.util.List; import java.util.OptionalInt; @@ -50,16 +55,26 @@ public class ATMConfiguredFeatures { public static final ResourceKey> OTHER_VIBRANIUM = ATMConfiguredFeatures.create("other_vibranium"); public static final ResourceKey> UNOBTAINIUM = ATMConfiguredFeatures.create("unobtainium"); - public static final ResourceKey> COAL = ATMConfiguredFeatures.create("coal"); - public static final ResourceKey> COPPER_LARGE = ATMConfiguredFeatures.create("copper_large"); - public static final ResourceKey> DIAMOND_LARGE = ATMConfiguredFeatures.create("diamond_large"); - public static final ResourceKey> EMERALD = ATMConfiguredFeatures.create("emerald"); - public static final ResourceKey> GOLD = ATMConfiguredFeatures.create("gold"); - public static final ResourceKey> IRON = ATMConfiguredFeatures.create("iron"); - public static final ResourceKey> LAPIS = ATMConfiguredFeatures.create("lapis"); - public static final ResourceKey> NETHERITE = ATMConfiguredFeatures.create("netherite"); - public static final ResourceKey> QUARTZ = ATMConfiguredFeatures.create("quartz"); - public static final ResourceKey> REDSTONE = ATMConfiguredFeatures.create("redstone"); + public static final ResourceKey> ORE_COAL = ATMConfiguredFeatures.create("mining/ore_coal"); + public static final ResourceKey> ORE_COPPER_SMALL = ATMConfiguredFeatures.create("mining/ore_copper_small"); + public static final ResourceKey> ORE_COPPER_LARGE = ATMConfiguredFeatures.create("mining/ore_copper_large"); + public static final ResourceKey> ORE_IRON = ATMConfiguredFeatures.create("mining/ore_iron"); + public static final ResourceKey> ORE_IRON_SMALL = ATMConfiguredFeatures.create("mining/ore_iron_small"); + public static final ResourceKey> ORE_GOLD = ATMConfiguredFeatures.create("mining/ore_gold"); + public static final ResourceKey> ORE_GOLD_BURIED = ATMConfiguredFeatures.create("mining/ore_gold_buried"); + public static final ResourceKey> ORE_NETHER_GOLD = ATMConfiguredFeatures.create("mining/ore_nether_gold"); + public static final ResourceKey> ORE_REDSTONE = ATMConfiguredFeatures.create("mining/ore_redstone"); + public static final ResourceKey> ORE_LAPIS = ATMConfiguredFeatures.create("mining/ore_lapis"); + public static final ResourceKey> ORE_LAPIS_BURIED = ATMConfiguredFeatures.create("mining/ore_lapis_buried"); + public static final ResourceKey> ORE_DIAMOND_SMALL = ATMConfiguredFeatures.create("mining/ore_diamond_small"); + public static final ResourceKey> ORE_DIAMOND_BURIED = ATMConfiguredFeatures.create("mining/ore_diamond_buried"); + public static final ResourceKey> ORE_DIAMOND_MEDIUM = ATMConfiguredFeatures.create("mining/ore_diamond_medium"); + public static final ResourceKey> ORE_DIAMOND_LARGE = ATMConfiguredFeatures.create("mining/ore_diamond_large"); + public static final ResourceKey> ORE_EMERALD = ATMConfiguredFeatures.create("mining/ore_emerald"); + public static final ResourceKey> ORE_QUARTZ = ATMConfiguredFeatures.create("mining/ore_quartz"); + public static final ResourceKey> GLOWSTONE = ATMConfiguredFeatures.create("mining/glowstone"); + public static final ResourceKey> ORE_ANCIENT_DEBRIS_SMALL = ATMConfiguredFeatures.create("mining/ore_ancient_debris_small"); + public static final ResourceKey> ORE_ANCIENT_DEBRIS_LARGE = ATMConfiguredFeatures.create("mining/ore_ancient_debris_large"); public static final ResourceKey> ANCIENT_TREE = ATMConfiguredFeatures.create("ancient_tree"); public static final ResourceKey> CAVE_VINE = ATMConfiguredFeatures.create("cave_vine"); @@ -81,45 +96,123 @@ public static void bootstrap(final BootstrapContext> ctx ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.OTHER_VIBRANIUM, Feature.ORE, new OreConfiguration(List.of( OreConfiguration.target(new BlockMatchTest(ATMBlocks.ANCIENT_STONE.get()), ATMBlocks.OTHER_VIBRANIUM_ORE.get().defaultBlockState()) ), 5)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.COAL, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.COAL_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_COAL_ORE.defaultBlockState()) - ), 17)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.COPPER_LARGE, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.COPPER_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_COPPER_ORE.defaultBlockState()) - ), 20)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.DIAMOND_LARGE, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.DIAMOND_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_DIAMOND_ORE.defaultBlockState()) - ), 12, 0.7F)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.EMERALD, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.EMERALD_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_EMERALD_ORE.defaultBlockState()) - ), 3)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.GOLD, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.GOLD_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_GOLD_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.BASE_STONE_NETHER), Blocks.NETHER_GOLD_ORE.defaultBlockState()) - ), 18)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.IRON, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.IRON_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_IRON_ORE.defaultBlockState()) - ), 9)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.LAPIS, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.LAPIS_ORE.defaultBlockState()), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_LAPIS_ORE.defaultBlockState()) - ), 7)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.NETHERITE, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new BlockMatchTest(Blocks.NETHERRACK), Blocks.ANCIENT_DEBRIS.defaultBlockState()) - ), 5)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.QUARTZ, Feature.ORE, new OreConfiguration(List.of( + + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.GLOWSTONE, Feature.ORE, new OreConfiguration(List.of( + OreConfiguration.target(new BlockMatchTest(Blocks.NETHERRACK), Blocks.GLOWSTONE.defaultBlockState()) + ), 8)); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_COAL, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.COAL_ORE, + Blocks.DEEPSLATE_COAL_ORE, + 17 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_COPPER_SMALL, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.COPPER_ORE, + Blocks.DEEPSLATE_COPPER_ORE, + 10 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_COPPER_LARGE, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.COPPER_ORE, + Blocks.DEEPSLATE_COPPER_ORE, + 20 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_IRON, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.IRON_ORE, + Blocks.DEEPSLATE_IRON_ORE, + 9 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_IRON_SMALL, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.IRON_ORE, + Blocks.DEEPSLATE_IRON_ORE, + 4 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_GOLD, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.GOLD_ORE, + Blocks.DEEPSLATE_GOLD_ORE, + 9 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_GOLD_BURIED, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.GOLD_ORE, + Blocks.DEEPSLATE_GOLD_ORE, + 9, + 0.5F + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_NETHER_GOLD, Feature.ORE, new OreConfiguration(List.of( + OreConfiguration.target(new BlockMatchTest(Blocks.NETHERRACK), Blocks.NETHER_GOLD_ORE.defaultBlockState()) + ), 10)); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_REDSTONE, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.REDSTONE_ORE.defaultBlockState().setValue(RedStoneOreBlock.LIT, false), + Blocks.DEEPSLATE_REDSTONE_ORE.defaultBlockState().setValue(RedStoneOreBlock.LIT, false), + 8 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_LAPIS, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.LAPIS_ORE, + Blocks.DEEPSLATE_LAPIS_ORE, + 7 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_LAPIS_BURIED, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.LAPIS_ORE, + Blocks.DEEPSLATE_LAPIS_ORE, + 7, + 1.0F + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_DIAMOND_SMALL, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.DIAMOND_ORE, + Blocks.DEEPSLATE_DIAMOND_ORE, + 4, + 0.5F + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_DIAMOND_BURIED, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.DIAMOND_ORE, + Blocks.DEEPSLATE_DIAMOND_ORE, + 8, + 1.0F + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_DIAMOND_MEDIUM, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.DIAMOND_ORE, + Blocks.DEEPSLATE_DIAMOND_ORE, + 8, + 0.5F + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_DIAMOND_LARGE, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.DIAMOND_ORE, + Blocks.DEEPSLATE_DIAMOND_ORE, + 12, + 0.7F + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_EMERALD, Feature.ORE, ATMConfiguredFeatures.stoneOre( + Blocks.EMERALD_ORE, + Blocks.DEEPSLATE_EMERALD_ORE, + 3 + )); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_QUARTZ, Feature.ORE, new OreConfiguration(List.of( OreConfiguration.target(new BlockMatchTest(Blocks.NETHERRACK), Blocks.NETHER_QUARTZ_ORE.defaultBlockState()) ), 14)); - ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.REDSTONE, Feature.ORE, new OreConfiguration(List.of( - OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), Blocks.REDSTONE_ORE.defaultBlockState().setValue(RedStoneOreBlock.LIT, false)), - OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), Blocks.DEEPSLATE_REDSTONE_ORE.defaultBlockState().setValue(RedStoneOreBlock.LIT, false)) - ), 8)); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_ANCIENT_DEBRIS_SMALL, Feature.SCATTERED_ORE, new OreConfiguration(List.of( + OreConfiguration.target(new TagMatchTest(BlockTags.BASE_STONE_NETHER), Blocks.ANCIENT_DEBRIS.defaultBlockState()) + ), 2, 1.0F)); + ATMConfiguredFeatures.register(ctx, ATMConfiguredFeatures.ORE_ANCIENT_DEBRIS_LARGE, Feature.SCATTERED_ORE, new OreConfiguration(List.of( + OreConfiguration.target(new TagMatchTest(BlockTags.BASE_STONE_NETHER), Blocks.ANCIENT_DEBRIS.defaultBlockState()) + ), 3, 1.0F)); + + Material.forAll(material -> { + Material.WorldGen worldGen = material.getWorldGen(); + if (worldGen == null) return; + + List targets = new ArrayList<>(); + ATMConfiguredFeatures.addTarget(material, BlockPartType.STONE_ORE, new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), targets); + ATMConfiguredFeatures.addTarget(material, BlockPartType.DEEPSLATE_ORE, new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), targets); + ATMConfiguredFeatures.addTarget(material, BlockPartType.NETHER_ORE, new BlockMatchTest(Blocks.NETHERRACK), targets); + ATMConfiguredFeatures.addTarget(material, BlockPartType.END_ORE, new BlockMatchTest(Blocks.END_STONE), targets); + + if (targets.isEmpty()) return; + + ATMConfiguredFeatures.register( + ctx, + ATMConfiguredFeatures.mining(material), + Feature.ORE, + new OreConfiguration(targets, worldGen.veinSize()) + ); + }); ATMConfiguredFeatures.register( ctx, @@ -211,6 +304,37 @@ private static TreeConfiguration fancyTree(BlockStateProvider provider, BlockSta ).ignoreVines().build(); } + private static OreConfiguration stoneOre(Block stoneOre, Block deepslateOre, int size) { + return ATMConfiguredFeatures.stoneOre(stoneOre, deepslateOre, size, 0.0F); + } + + private static OreConfiguration stoneOre(Block stoneOre, Block deepslateOre, int size, float discardChance) { + return ATMConfiguredFeatures.stoneOre(stoneOre.defaultBlockState(), deepslateOre.defaultBlockState(), size, discardChance); + } + + private static OreConfiguration stoneOre(BlockState stoneOre, BlockState deepslateOre, int size) { + return ATMConfiguredFeatures.stoneOre(stoneOre, deepslateOre, size, 0.0F); + } + + private static OreConfiguration stoneOre(BlockState stoneOre, BlockState deepslateOre, int size, float discardChance) { + return new OreConfiguration(List.of( + OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), stoneOre), + OreConfiguration.target(new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES), deepslateOre) + ), size, discardChance); + } + + private static void addTarget( + Material material, + BlockPartType type, + RuleTest target, + List targets + ) { + material.apply(type, part -> { + if (part.isVanilla()) return; + targets.add(OreConfiguration.target(target, part.getHolder().get().defaultBlockState())); + }); + } + private static void register( BootstrapContext> ctx, ResourceKey> key, @@ -223,4 +347,8 @@ private static void register( private static ResourceKey> create(String path) { return ATM.key(Registries.CONFIGURED_FEATURE, path); } + + public static ResourceKey> mining(Material material) { + return ATMConfiguredFeatures.create("mining/ore_" + material.getGroup()); + } } diff --git a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMPlacedFeatures.java b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMPlacedFeatures.java index ffe3f827..19f07d49 100644 --- a/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMPlacedFeatures.java +++ b/src/main/java/net/allthemods/allthemodium/data/worldgen/ATMPlacedFeatures.java @@ -4,15 +4,16 @@ import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; -import net.minecraft.data.worldgen.features.OreFeatures; import net.minecraft.data.worldgen.placement.PlacementUtils; import net.minecraft.resources.ResourceKey; import net.minecraft.util.valueproviders.ConstantInt; +import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.levelgen.VerticalAnchor; import net.minecraft.world.level.levelgen.blockpredicates.BlockPredicate; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; +import net.minecraft.world.level.levelgen.heightproviders.BiasedToBottomHeight; import net.minecraft.world.level.levelgen.placement.BiomeFilter; import net.minecraft.world.level.levelgen.placement.CountOnEveryLayerPlacement; import net.minecraft.world.level.levelgen.placement.CountPlacement; @@ -22,15 +23,29 @@ import net.minecraft.world.level.levelgen.placement.PlacedFeature; import net.minecraft.world.level.levelgen.placement.PlacementModifier; import net.minecraft.world.level.levelgen.placement.RandomOffsetPlacement; +import net.minecraft.world.level.levelgen.placement.RarityFilter; import net.minecraft.world.level.levelgen.placement.SurfaceWaterDepthFilter; import net.allthemods.allthemodium.api.ATM; import net.allthemods.allthemodium.core.registry.ATMBlocks; +import net.allthemods.alltheores.common.material.Material; import java.util.List; public class ATMPlacedFeatures { + private static final int MINING_FULL_MIN_Y = -63; + private static final int MINING_FULL_MAX_Y = 247; + private static final int MINING_FULL_INNER = 216; + + private static final int MINING_STONE_MIN_Y = 65; + private static final int MINING_STONE_MAX_Y = 247; + private static final int MINING_STONE_INNER = 112; + + private static final int MINING_NETHER_MIN_Y = 1; + private static final int MINING_NETHER_MAX_Y = 64; + private static final int MINING_NETHER_INNER = 24; + public static final ResourceKey ALLTHEMODIUM = ATMPlacedFeatures.create("allthemodium"); public static final ResourceKey ALLTHEMODIUM_MINING = ATMPlacedFeatures.create("allthemodium_mining"); public static final ResourceKey VIBRANIUM = ATMPlacedFeatures.create("vibranium"); @@ -43,20 +58,32 @@ public class ATMPlacedFeatures { public static final ResourceKey SOUL_DELTA = ATMPlacedFeatures.create("soul_delta"); public static final ResourceKey SOUL_TREE = ATMPlacedFeatures.create("soul_tree"); - public static final ResourceKey COAL_LOWER = ATMPlacedFeatures.create("coal_lower"); - public static final ResourceKey COAL_UPPER = ATMPlacedFeatures.create("coal_upper"); - public static final ResourceKey COPPER_LARGE = ATMPlacedFeatures.create("copper_large"); - public static final ResourceKey DIAMOND_LARGE = ATMPlacedFeatures.create("diamond_large"); - public static final ResourceKey EMERALD = ATMPlacedFeatures.create("emerald"); - public static final ResourceKey GOLD = ATMPlacedFeatures.create("gold"); - public static final ResourceKey IRON_MIDDLE = ATMPlacedFeatures.create("iron_middle"); - public static final ResourceKey IRON_SMALL = ATMPlacedFeatures.create("iron_small"); - public static final ResourceKey IRON_UPPER = ATMPlacedFeatures.create("iron_upper"); - public static final ResourceKey LAPIS = ATMPlacedFeatures.create("lapis"); - public static final ResourceKey NETHERITE = ATMPlacedFeatures.create("netherite"); - public static final ResourceKey QUARTZ_NETHER = ATMPlacedFeatures.create("quartz_nether"); - public static final ResourceKey REDSTONE = ATMPlacedFeatures.create("redstone"); - public static final ResourceKey REDSTONE_LOWER = ATMPlacedFeatures.create("redstone_lower"); + public static final ResourceKey ORE_COAL_LOWER = ATMPlacedFeatures.create("mining/ore_coal_lower"); + public static final ResourceKey ORE_COAL_UPPER = ATMPlacedFeatures.create("mining/ore_coal_upper"); + public static final ResourceKey ORE_COPPER = ATMPlacedFeatures.create("mining/ore_copper"); + public static final ResourceKey ORE_COPPER_LARGE = ATMPlacedFeatures.create("mining/ore_copper_large"); + public static final ResourceKey ORE_IRON_SMALL = ATMPlacedFeatures.create("mining/ore_iron_small"); + public static final ResourceKey ORE_IRON_MIDDLE = ATMPlacedFeatures.create("mining/ore_iron_middle"); + public static final ResourceKey ORE_IRON_UPPER = ATMPlacedFeatures.create("mining/ore_iron_upper"); + public static final ResourceKey ORE_GOLD = ATMPlacedFeatures.create("mining/ore_gold"); + public static final ResourceKey ORE_GOLD_EXTRA = ATMPlacedFeatures.create("mining/ore_gold_extra"); + public static final ResourceKey ORE_GOLD_LOWER = ATMPlacedFeatures.create("mining/ore_gold_lower"); + public static final ResourceKey ORE_GOLD_DELTAS = ATMPlacedFeatures.create("mining/ore_gold_deltas"); + public static final ResourceKey ORE_GOLD_NETHER = ATMPlacedFeatures.create("mining/ore_gold_nether"); + public static final ResourceKey ORE_REDSTONE = ATMPlacedFeatures.create("mining/ore_redstone"); + public static final ResourceKey ORE_REDSTONE_LOWER = ATMPlacedFeatures.create("mining/ore_redstone_lower"); + public static final ResourceKey ORE_LAPIS = ATMPlacedFeatures.create("mining/ore_lapis"); + public static final ResourceKey ORE_LAPIS_BURIED = ATMPlacedFeatures.create("mining/ore_lapis_buried"); + public static final ResourceKey ORE_DIAMOND = ATMPlacedFeatures.create("mining/ore_diamond"); + public static final ResourceKey ORE_DIAMOND_BURIED = ATMPlacedFeatures.create("mining/ore_diamond_buried"); + public static final ResourceKey ORE_DIAMOND_MEDIUM = ATMPlacedFeatures.create("mining/ore_diamond_medium"); + public static final ResourceKey ORE_DIAMOND_LARGE = ATMPlacedFeatures.create("mining/ore_diamond_large"); + public static final ResourceKey ORE_EMERALD = ATMPlacedFeatures.create("mining/ore_emerald"); + public static final ResourceKey ORE_QUARTZ_DELTAS = ATMPlacedFeatures.create("mining/ore_quartz_deltas"); + public static final ResourceKey ORE_QUARTZ_NETHER = ATMPlacedFeatures.create("mining/ore_quartz_nether"); + public static final ResourceKey ORE_GLOWSTONE = ATMPlacedFeatures.create("mining/glowstone"); + public static final ResourceKey ORE_DEBRIS_SMALL = ATMPlacedFeatures.create("mining/ore_debris_small"); + public static final ResourceKey ORE_ANCIENT_DEBRIS_LARGE = ATMPlacedFeatures.create("mining/ore_ancient_debris_large"); public static void bootstrap(final BootstrapContext ctx) { var configured = ctx.lookup(Registries.CONFIGURED_FEATURE); @@ -82,10 +109,7 @@ public static void bootstrap(final BootstrapContext ctx) { configured.getOrThrow(ATMConfiguredFeatures.ALLTHEMODIUM), ATMPlacedFeatures.ore( 1, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(65), - VerticalAnchor.absolute(129) - ) + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( @@ -133,213 +157,333 @@ public static void bootstrap(final BootstrapContext ctx) { ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.ANCIENT_TREE, - configured.getOrThrow(ATMConfiguredFeatures.ANCIENT_TREE), - ATMPlacedFeatures.tree(ATMBlocks.ANCIENT_SAPLING.get()) + ATMPlacedFeatures.ORE_GLOWSTONE, + configured.getOrThrow(ATMConfiguredFeatures.GLOWSTONE), + ATMPlacedFeatures.ore( + 8, + ATMPlacedFeatures.netherRange() + ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.SOUL_TREE, - configured.getOrThrow(ATMConfiguredFeatures.SOUL_TREE), - ATMPlacedFeatures.tree(ATMBlocks.SOUL_SAPLING.get()) + ATMPlacedFeatures.ORE_COAL_LOWER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_COAL), + ATMPlacedFeatures.ore( + 20, + ATMPlacedFeatures.stoneRange() + ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.DEMONIC_TREE, - configured.getOrThrow(ATMConfiguredFeatures.DEMONIC_TREE), - ATMPlacedFeatures.tree(ATMBlocks.DEMONIC_SAPLING.get()) + ATMPlacedFeatures.ORE_COAL_UPPER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_COAL), + ATMPlacedFeatures.ore( + 30, + ATMPlacedFeatures.stoneRange() + ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.CAVE_VINES, - configured.getOrThrow(ATMConfiguredFeatures.CAVE_VINE), - CountPlacement.of(188), - InSquarePlacement.spread(), - HeightRangePlacement.uniform( - VerticalAnchor.aboveBottom(0), - VerticalAnchor.absolute(256) - ), - ATMPlacedFeatures.scan(Direction.UP, Direction.DOWN), - RandomOffsetPlacement.vertical(ConstantInt.of(-1)), - BiomeFilter.biome() + ATMPlacedFeatures.ORE_COPPER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_COPPER_SMALL), + ATMPlacedFeatures.ore( + 16, + ATMPlacedFeatures.stoneRange() + ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.SOUL_DELTA, - configured.getOrThrow(ATMConfiguredFeatures.SOUL_DELTAS), - CountOnEveryLayerPlacement.of(80), - BiomeFilter.biome() + ATMPlacedFeatures.ORE_COPPER_LARGE, + configured.getOrThrow(ATMConfiguredFeatures.ORE_COPPER_LARGE), + ATMPlacedFeatures.ore( + 16, + ATMPlacedFeatures.stoneRange() + ) ); - ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.COAL_LOWER, - configured.getOrThrow(OreFeatures.ORE_COAL_BURIED), + ATMPlacedFeatures.ORE_IRON_SMALL, + configured.getOrThrow(ATMConfiguredFeatures.ORE_IRON_SMALL), ATMPlacedFeatures.ore( - 20, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(64), - VerticalAnchor.absolute(192) - ) + 10, + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.COAL_UPPER, - configured.getOrThrow(OreFeatures.ORE_COAL), + ATMPlacedFeatures.ORE_IRON_MIDDLE, + configured.getOrThrow(ATMConfiguredFeatures.ORE_IRON), ATMPlacedFeatures.ore( - 30, - HeightRangePlacement.uniform( - VerticalAnchor.absolute(136), - VerticalAnchor.top() - ) + 10, + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.COPPER_LARGE, - configured.getOrThrow(OreFeatures.ORE_COPPER_LARGE), + ATMPlacedFeatures.ORE_IRON_UPPER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_IRON), ATMPlacedFeatures.ore( - 16, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(-16), - VerticalAnchor.absolute(312) - ) + 90, + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.DIAMOND_LARGE, - configured.getOrThrow(ATMConfiguredFeatures.DIAMOND_LARGE), + ATMPlacedFeatures.ORE_GOLD, + configured.getOrThrow(ATMConfiguredFeatures.ORE_GOLD_BURIED), ATMPlacedFeatures.ore( - 6, - HeightRangePlacement.triangle( - VerticalAnchor.aboveBottom(96), - VerticalAnchor.aboveBottom(176) - ) + 4, + ATMPlacedFeatures.stoneRange() ) ); + ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.EMERALD, - configured.getOrThrow(ATMConfiguredFeatures.EMERALD), + ATMPlacedFeatures.ORE_GOLD_EXTRA, + configured.getOrThrow(ATMConfiguredFeatures.ORE_GOLD), ATMPlacedFeatures.ore( - 100, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(-16), - VerticalAnchor.absolute(480) - ) + 50, + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( - ctx, ATMPlacedFeatures.GOLD, - configured.getOrThrow(ATMConfiguredFeatures.GOLD), + ctx, + ATMPlacedFeatures.ORE_GOLD_LOWER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_GOLD_BURIED), ATMPlacedFeatures.ore( - 4, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(0), - VerticalAnchor.absolute(132) - ) + CountPlacement.of(UniformInt.of(0, 1)), + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( - ctx, ATMPlacedFeatures.IRON_MIDDLE, - configured.getOrThrow(OreFeatures.ORE_IRON), + ctx, + ATMPlacedFeatures.ORE_GOLD_DELTAS, + configured.getOrThrow(ATMConfiguredFeatures.ORE_NETHER_GOLD), ATMPlacedFeatures.ore( - 10, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(64), - VerticalAnchor.absolute(156) - ) + 20, + ATMPlacedFeatures.netherRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.IRON_SMALL, - configured.getOrThrow(OreFeatures.ORE_IRON_SMALL), + ATMPlacedFeatures.ORE_GOLD_NETHER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_NETHER_GOLD), ATMPlacedFeatures.ore( 10, - HeightRangePlacement.uniform( - VerticalAnchor.aboveBottom(128), - VerticalAnchor.absolute(200) - ) + ATMPlacedFeatures.netherRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.IRON_UPPER, - configured.getOrThrow(OreFeatures.ORE_IRON), + ATMPlacedFeatures.ORE_REDSTONE, + configured.getOrThrow(ATMConfiguredFeatures.ORE_REDSTONE), ATMPlacedFeatures.ore( - 90, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(80), - VerticalAnchor.absolute(384) - ) + 4, + ATMPlacedFeatures.stoneRange() + ) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ORE_REDSTONE_LOWER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_REDSTONE), + ATMPlacedFeatures.ore( + 8, + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.LAPIS, - configured.getOrThrow(OreFeatures.ORE_LAPIS), + ATMPlacedFeatures.ORE_LAPIS, + configured.getOrThrow(ATMConfiguredFeatures.ORE_LAPIS), ATMPlacedFeatures.ore( 2, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(64), - VerticalAnchor.absolute(150) - ) + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.NETHERITE, - configured.getOrThrow(ATMConfiguredFeatures.NETHERITE), + ATMPlacedFeatures.ORE_LAPIS_BURIED, + configured.getOrThrow(ATMConfiguredFeatures.ORE_LAPIS_BURIED), ATMPlacedFeatures.ore( 4, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(0), - VerticalAnchor.absolute(132) - ) + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.QUARTZ_NETHER, - configured.getOrThrow(ATMConfiguredFeatures.QUARTZ), - ATMPlacedFeatures.ore(16, - HeightRangePlacement.uniform( - VerticalAnchor.aboveBottom(64), - VerticalAnchor.aboveBottom(128) - ) + ATMPlacedFeatures.ORE_DIAMOND, + configured.getOrThrow(ATMConfiguredFeatures.ORE_DIAMOND_SMALL), + ATMPlacedFeatures.ore( + 7, + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.REDSTONE, - configured.getOrThrow(OreFeatures.ORE_REDSTONE), + ATMPlacedFeatures.ORE_DIAMOND_BURIED, + configured.getOrThrow(ATMConfiguredFeatures.ORE_DIAMOND_BURIED), ATMPlacedFeatures.ore( 4, - HeightRangePlacement.uniform( - VerticalAnchor.aboveBottom(128), - VerticalAnchor.absolute(205) - ) + ATMPlacedFeatures.stoneRange() ) ); ATMPlacedFeatures.register( ctx, - ATMPlacedFeatures.REDSTONE_LOWER, - configured.getOrThrow(OreFeatures.ORE_REDSTONE), + ATMPlacedFeatures.ORE_DIAMOND_MEDIUM, + configured.getOrThrow(ATMConfiguredFeatures.ORE_DIAMOND_MEDIUM), ATMPlacedFeatures.ore( - 8, - HeightRangePlacement.triangle( - VerticalAnchor.absolute(64), - VerticalAnchor.aboveBottom(190) - ) + 2, + ATMPlacedFeatures.stoneRange() + ) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ORE_DIAMOND_LARGE, + configured.getOrThrow(ATMConfiguredFeatures.ORE_DIAMOND_LARGE), + ATMPlacedFeatures.rarityOre( + 9, + ATMPlacedFeatures.stoneRange() ) ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ORE_EMERALD, + configured.getOrThrow(ATMConfiguredFeatures.ORE_EMERALD), + ATMPlacedFeatures.ore( + 100, + ATMPlacedFeatures.stoneRange() + ) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ORE_QUARTZ_DELTAS, + configured.getOrThrow(ATMConfiguredFeatures.ORE_QUARTZ), + ATMPlacedFeatures.ore( + 32, + ATMPlacedFeatures.netherRange() + ) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ORE_QUARTZ_NETHER, + configured.getOrThrow(ATMConfiguredFeatures.ORE_QUARTZ), + ATMPlacedFeatures.ore( + 16, + ATMPlacedFeatures.netherRange() + ) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ORE_DEBRIS_SMALL, + configured.getOrThrow(ATMConfiguredFeatures.ORE_ANCIENT_DEBRIS_SMALL), + List.of( + InSquarePlacement.spread(), + ATMPlacedFeatures.netherRange(), + BiomeFilter.biome() + ) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ORE_ANCIENT_DEBRIS_LARGE, + configured.getOrThrow(ATMConfiguredFeatures.ORE_ANCIENT_DEBRIS_LARGE), + List.of( + InSquarePlacement.spread(), + ATMPlacedFeatures.netherRange(), + BiomeFilter.biome() + ) + ); + + Material.forAll(material -> { + Material.WorldGen worldGen = material.getWorldGen(); + if (worldGen == null) return; + + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.mining(material), + configured.getOrThrow(ATMConfiguredFeatures.mining(material)), + ATMPlacedFeatures.ore( + worldGen.count(), + ATMPlacedFeatures.fullRange() + ) + ); + }); + + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.ANCIENT_TREE, + configured.getOrThrow(ATMConfiguredFeatures.ANCIENT_TREE), + ATMPlacedFeatures.tree(ATMBlocks.ANCIENT_SAPLING.get()) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.SOUL_TREE, + configured.getOrThrow(ATMConfiguredFeatures.SOUL_TREE), + ATMPlacedFeatures.tree(ATMBlocks.SOUL_SAPLING.get()) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.DEMONIC_TREE, + configured.getOrThrow(ATMConfiguredFeatures.DEMONIC_TREE), + ATMPlacedFeatures.tree(ATMBlocks.DEMONIC_SAPLING.get()) + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.CAVE_VINES, + configured.getOrThrow(ATMConfiguredFeatures.CAVE_VINE), + CountPlacement.of(188), + InSquarePlacement.spread(), + HeightRangePlacement.uniform( + VerticalAnchor.aboveBottom(0), + VerticalAnchor.absolute(256) + ), + ATMPlacedFeatures.scan(Direction.UP, Direction.DOWN), + RandomOffsetPlacement.vertical(ConstantInt.of(-1)), + BiomeFilter.biome() + ); + ATMPlacedFeatures.register( + ctx, + ATMPlacedFeatures.SOUL_DELTA, + configured.getOrThrow(ATMConfiguredFeatures.SOUL_DELTAS), + CountOnEveryLayerPlacement.of(80), + BiomeFilter.biome() + ); + } private static List ore(int count, PlacementModifier heightRange) { - return List.of(CountPlacement.of(count), InSquarePlacement.spread(), heightRange, BiomeFilter.biome()); + return ATMPlacedFeatures.ore(CountPlacement.of(count), heightRange); + } + + private static List ore(PlacementModifier count, PlacementModifier heightRange) { + return List.of(count, InSquarePlacement.spread(), heightRange, BiomeFilter.biome()); + } + + private static List rarityOre(int chance, PlacementModifier heightRange) { + return List.of(RarityFilter.onAverageOnceEvery(chance), InSquarePlacement.spread(), heightRange, BiomeFilter.biome()); + } + + private static PlacementModifier fullRange() { + return HeightRangePlacement.of(BiasedToBottomHeight.of( + VerticalAnchor.absolute(ATMPlacedFeatures.MINING_FULL_MIN_Y), + VerticalAnchor.absolute(ATMPlacedFeatures.MINING_FULL_MAX_Y), + ATMPlacedFeatures.MINING_FULL_INNER + )); + } + + private static PlacementModifier stoneRange() { + return HeightRangePlacement.of(BiasedToBottomHeight.of( + VerticalAnchor.absolute(ATMPlacedFeatures.MINING_STONE_MIN_Y), + VerticalAnchor.absolute(ATMPlacedFeatures.MINING_STONE_MAX_Y), + ATMPlacedFeatures.MINING_STONE_INNER + )); + } + + private static PlacementModifier netherRange() { + return HeightRangePlacement.of(BiasedToBottomHeight.of( + VerticalAnchor.absolute(ATMPlacedFeatures.MINING_NETHER_MIN_Y), + VerticalAnchor.absolute(ATMPlacedFeatures.MINING_NETHER_MAX_Y), + ATMPlacedFeatures.MINING_NETHER_INNER + )); } private static List tree(Block sapling) { @@ -383,4 +527,8 @@ private static void register( private static ResourceKey create(String path) { return ATM.key(Registries.PLACED_FEATURE, path); } + + public static ResourceKey mining(Material material) { + return ATMPlacedFeatures.create("mining/ore_" + material.getGroup()); + } }