From ab0a3a26415ea047e084fb727b7d26aee526859f Mon Sep 17 00:00:00 2001 From: sillyangel Date: Sat, 4 Jan 2025 16:43:11 -0600 Subject: [PATCH] ore gen --- CHANGELOG.MD | 19 +++++++++++++++++++ .../worldgen/ModConfiguredFeatures.java | 19 ++++++++++++++++++- .../nugget/worldgen/ModOrePlacement.java | 19 +++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 src/main/java/xyz/sillyangel/nugget/worldgen/ModOrePlacement.java diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 9d7cb95..fd8e36c 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,6 +1,25 @@ # Changelog +## 1.1.1 +- Horse Armor +- Player Armor + - Now able to enchant the armor +- Custom Armor Trim and Material +- Music Disc +- Tool Set +- Nugget is Eatable +- Custom Painting +- Ore Gen + +# Modrinth changle + +- Horse Armor +- Player Armor +- Music Disc +- Ore Gen +- Custom Painting + ## 1.10 - added tools, and sword - datagen for no more json files* diff --git a/src/main/java/xyz/sillyangel/nugget/worldgen/ModConfiguredFeatures.java b/src/main/java/xyz/sillyangel/nugget/worldgen/ModConfiguredFeatures.java index ef38b92..86ae624 100644 --- a/src/main/java/xyz/sillyangel/nugget/worldgen/ModConfiguredFeatures.java +++ b/src/main/java/xyz/sillyangel/nugget/worldgen/ModConfiguredFeatures.java @@ -1,5 +1,9 @@ package xyz.sillyangel.nugget.worldgen; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; +import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; +import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; import xyz.sillyangel.nugget.NuggetMod; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; @@ -8,12 +12,25 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; +import xyz.sillyangel.nugget.block.ModBlocks; + +import java.util.List; public class ModConfiguredFeatures { - public static void bootstrap(BootstrapContext> context) { + public static final ResourceKey> OVERWORLD_NUGGET_ORE = registerKey("nugget_ore"); + public static void bootstrap(BootstrapContext> context) { + RuleTest stoneReplaceables = new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES); + RuleTest deepslateReplaceables = new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES); + + List overworldNuggetOres = List.of( + OreConfiguration.target(stoneReplaceables, ModBlocks.NUGGET_ORE.get().defaultBlockState()), + OreConfiguration.target(deepslateReplaceables, ModBlocks.NUGGET_DEEPSLATE_ORE.get().defaultBlockState())); + + register(context, OVERWORLD_NUGGET_ORE, Feature.ORE, new OreConfiguration(overworldNuggetOres, 9)); + } public static ResourceKey> registerKey(String name) { diff --git a/src/main/java/xyz/sillyangel/nugget/worldgen/ModOrePlacement.java b/src/main/java/xyz/sillyangel/nugget/worldgen/ModOrePlacement.java new file mode 100644 index 0000000..55fbd22 --- /dev/null +++ b/src/main/java/xyz/sillyangel/nugget/worldgen/ModOrePlacement.java @@ -0,0 +1,19 @@ +package xyz.sillyangel.nugget.worldgen; + +import net.minecraft.world.level.levelgen.placement.*; + +import java.util.List; + +public class ModOrePlacement { + public static List orePlacement(PlacementModifier pCountPlacement, PlacementModifier pHeightRange) { + return List.of(pCountPlacement, InSquarePlacement.spread(), pHeightRange, BiomeFilter.biome()); + } + + public static List commonOrePlacement(int pCount, PlacementModifier pHeightRange) { + return orePlacement(CountPlacement.of(pCount), pHeightRange); + } + + public static List rareOrePlacement(int pChance, PlacementModifier pHeightRange) { + return orePlacement(RarityFilter.onAverageOnceEvery(pChance), pHeightRange); + } +} \ No newline at end of file