From 3c5700374bb678048a954d012e17e43554f00a00 Mon Sep 17 00:00:00 2001 From: ticccco <23436953+LucasPlacentino@users.noreply.github.com> Date: Sun, 1 Jan 2023 22:24:44 +0100 Subject: [PATCH] tryna fix ore gen once again --- .../world/feature/ModConfiguredFeatures.java | 8 ++-- .../mcsc/world/feature/ModFeatures.java | 48 +++++++++++++++++++ .../mcsc/world/feature/ModPlacedFeatures.java | 14 +++--- .../worldgen/placed_feature/borax_ore.json | 27 +++++++++++ .../worldgen/placed_feature/ore_borax.json | 4 +- .../placed_feature/ore_phosphate.json | 4 +- 6 files changed, 90 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/obsilab/mcsc/world/feature/ModFeatures.java create mode 100644 src/main/resources/data/minecraft/worldgen/placed_feature/borax_ore.json diff --git a/src/main/java/com/obsilab/mcsc/world/feature/ModConfiguredFeatures.java b/src/main/java/com/obsilab/mcsc/world/feature/ModConfiguredFeatures.java index da1aac2..309b912 100644 --- a/src/main/java/com/obsilab/mcsc/world/feature/ModConfiguredFeatures.java +++ b/src/main/java/com/obsilab/mcsc/world/feature/ModConfiguredFeatures.java @@ -27,16 +27,16 @@ public class ModConfiguredFeatures { public static final DeferredRegister> CONFIGURED_FEATURES = DeferredRegister.create(Registries.CONFIGURED_FEATURE, MCSC.MOD_ID); - /* + public static final Supplier> OVERWORLD_BORAX_ORES = Suppliers.memoize(() -> List.of( - OreConfiguration.target(OreFeatures.STONE_ORE_REPLACEABLES, ModBlocks.BORAX_ORE.get().defaultBlockState())//, + OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), ModBlocks.BORAX_ORE.get().defaultBlockState())//, //OreConfiguration.target(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, ModBlocks.DEEPSLATE_BORAX_ORE.get().defaultBlockState()) )); public static final Supplier> OVERWORLD_PHOSPHATE_ORES = Suppliers.memoize(() -> List.of( - OreConfiguration.target(OreFeatures.STONE_ORE_REPLACEABLES, ModBlocks.PHOSPHATE_ORE.get().defaultBlockState())//, + OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), ModBlocks.PHOSPHATE_ORE.get().defaultBlockState())//, //OreConfiguration.target(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, ModBlocks.DEEPSLATE_PHOSPHATE_ORE.get().defaultBlockState()) )); @@ -46,7 +46,7 @@ public class ModConfiguredFeatures { () -> new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(OVERWORLD_BORAX_ORES.get(), 10 // vein size ))); - */ + // public static final RegistryObject BORAX_ORE = // CONFIGURED_FEATURES.register("borax_ore", // () -> new OreFeatures(new OreConfiguration( diff --git a/src/main/java/com/obsilab/mcsc/world/feature/ModFeatures.java b/src/main/java/com/obsilab/mcsc/world/feature/ModFeatures.java new file mode 100644 index 0000000..2f21a82 --- /dev/null +++ b/src/main/java/com/obsilab/mcsc/world/feature/ModFeatures.java @@ -0,0 +1,48 @@ +package com.obsilab.mcsc.world.feature; + +import com.obsilab.mcsc.MCSC; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.levelgen.VerticalAnchor; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; +import net.minecraft.world.level.levelgen.placement.CountPlacement; +import net.minecraft.world.level.levelgen.placement.HeightRangePlacement; +import net.minecraft.world.level.levelgen.placement.PlacedFeature; +import net.minecraft.world.level.levelgen.placement.PlacementModifier; +import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import java.util.List; + +import static com.obsilab.mcsc.world.feature.ModPlacedFeatures.orePlacement; + +public class ModFeatures { + private static final DeferredRegister> CONFIGURED_FEATURES = DeferredRegister.create(Registries.CONFIGURED_FEATURE, MCSC.MOD_ID); + private static final DeferredRegister PLACED_FEATURES = DeferredRegister.create(Registries.PLACED_FEATURE, MCSC.MOD_ID); + + public static final RegistryObject> BORAX_ORE_CONFIGURED = CONFIGURED_FEATURES.register("borax_ore", + () -> { + var block = ForgeRegistries.BLOCKS.getValue(new ResourceLocation("mcsc:borax_ore")); + var target = List.of(OreConfiguration.target(new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES), block.defaultBlockState())); + return new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(target, 64)); + }); + + public static List commonOrePlacement(int i, PlacementModifier placementModifier) { + return orePlacement(CountPlacement.of(i), placementModifier); + } + + public static final RegistryObject BORAX_ORE_PLACED = PLACED_FEATURES.register("borax_ore", + () -> new PlacedFeature(BORAX_ORE_CONFIGURED.getHolder().get(), + commonOrePlacement(10, HeightRangePlacement.triangle(VerticalAnchor.absolute(-24), VerticalAnchor.absolute(56))))); + + public static void register(IEventBus bus) { + CONFIGURED_FEATURES.register(bus); + PLACED_FEATURES.register(bus); + } +} diff --git a/src/main/java/com/obsilab/mcsc/world/feature/ModPlacedFeatures.java b/src/main/java/com/obsilab/mcsc/world/feature/ModPlacedFeatures.java index b3da1ee..d1a9b1c 100644 --- a/src/main/java/com/obsilab/mcsc/world/feature/ModPlacedFeatures.java +++ b/src/main/java/com/obsilab/mcsc/world/feature/ModPlacedFeatures.java @@ -15,13 +15,13 @@ public class ModPlacedFeatures { public static final DeferredRegister PLACED_FEATURES = DeferredRegister.create(Registries.PLACED_FEATURE, MCSC.MOD_ID); - // public static final RegistryObject BORAX_ORE_PLACED = PLACED_FEATURES.register("borax_ore_placed", - // () -> new PlacedFeature(ModConfiguredFeatures.BORAX_ORE.getHolder().get(), - // commonOrePlacement(6, // VeinsPerChunk - // HeightRangePlacement.triangle( - // VerticalAnchor.absolute(0), - // VerticalAnchor.absolute(160) - // )))); + public static final RegistryObject BORAX_ORE_PLACED = PLACED_FEATURES.register("borax_ore_placed", + () -> new PlacedFeature(ModConfiguredFeatures.BORAX_ORE.getHolder().get(), + commonOrePlacement(6, // VeinsPerChunk + HeightRangePlacement.triangle( + VerticalAnchor.absolute(0), + VerticalAnchor.absolute(160) + )))); public static List orePlacement(PlacementModifier placementModifier, PlacementModifier placementModifier1) { diff --git a/src/main/resources/data/minecraft/worldgen/placed_feature/borax_ore.json b/src/main/resources/data/minecraft/worldgen/placed_feature/borax_ore.json new file mode 100644 index 0000000..c144fa8 --- /dev/null +++ b/src/main/resources/data/minecraft/worldgen/placed_feature/borax_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "minecraft:borax_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 30 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 160 + }, + "min_inclusive": { + "absolute": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/worldgen/placed_feature/ore_borax.json b/src/main/resources/data/minecraft/worldgen/placed_feature/ore_borax.json index edd915f..d465d22 100644 --- a/src/main/resources/data/minecraft/worldgen/placed_feature/ore_borax.json +++ b/src/main/resources/data/minecraft/worldgen/placed_feature/ore_borax.json @@ -1,5 +1,5 @@ { - "feature": "mcsc:ore_borax", + "feature": "minecraft:ore_borax", "placement": [ { "type": "minecraft:count", @@ -11,7 +11,7 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:triangle", + "type": "minecraft:uniform", "max_inclusive": { "absolute": 160 }, diff --git a/src/main/resources/data/minecraft/worldgen/placed_feature/ore_phosphate.json b/src/main/resources/data/minecraft/worldgen/placed_feature/ore_phosphate.json index b1e540a..618e3af 100644 --- a/src/main/resources/data/minecraft/worldgen/placed_feature/ore_phosphate.json +++ b/src/main/resources/data/minecraft/worldgen/placed_feature/ore_phosphate.json @@ -1,5 +1,5 @@ { - "feature": "mcsc:ore_phosphate", + "feature": "minecraft:ore_phosphate", "placement": [ { "type": "minecraft:count", @@ -16,7 +16,7 @@ "below_top": 0 }, "min_inclusive": { - "absolute": 136 + "absolute": 160 } } },