diff --git a/src/main/java/com/acethewildfire/acesbs/AcesBS.java b/src/main/java/com/acethewildfire/acesbs/AcesBS.java index 95dc62f..e2c6646 100644 --- a/src/main/java/com/acethewildfire/acesbs/AcesBS.java +++ b/src/main/java/com/acethewildfire/acesbs/AcesBS.java @@ -11,6 +11,7 @@ import com.acethewildfire.acesbs.sounds.ModSounds; import com.acethewildfire.acesbs.util.HammerUsageEvent; import com.acethewildfire.acesbs.util.UpdateRecipies; import com.acethewildfire.acesbs.util.YouMonsterEvent; +import com.acethewildfire.acesbs.world.gen.ModWorldGeneration; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.player.AttackEntityCallback; @@ -45,6 +46,7 @@ public class AcesBS implements ModInitializer { ModEffects.registerEffects(); ModPotions.registerPotions(); ModEnchantmentEffects.registerModEnchantments(); + ModWorldGeneration.generateModWorldGen(); ModDataComponentTypes.registerDataComponentsTypes(); diff --git a/src/main/java/com/acethewildfire/acesbs/world/ModConfiguredFeatures.java b/src/main/java/com/acethewildfire/acesbs/world/ModConfiguredFeatures.java new file mode 100644 index 0000000..0551e3a --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/world/ModConfiguredFeatures.java @@ -0,0 +1,32 @@ +package com.acethewildfire.acesbs.world; + +import com.acethewildfire.acesbs.AcesBS; +import net.minecraft.registry.Registerable; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.util.Identifier; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.FeatureConfig; + +public class ModConfiguredFeatures { + // CF -> PF -> WG + // CF: Could be a house + // PF: How is it placed + // WG: Where it is placed + + public static void bootstrap(Registerable> context) { + + + } + + public static RegistryKey> registerKey(String name) { + return RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, Identifier.of(AcesBS.MOD_ID, name)); + } + + private static > void register(Registerable> context, + RegistryKey> key, F feature, FC configuration) { + context.register(key, new ConfiguredFeature<>(feature, configuration)); + } + +} diff --git a/src/main/java/com/acethewildfire/acesbs/world/ModPlacedFeatures.java b/src/main/java/com/acethewildfire/acesbs/world/ModPlacedFeatures.java new file mode 100644 index 0000000..f01e7c9 --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/world/ModPlacedFeatures.java @@ -0,0 +1,43 @@ +package com.acethewildfire.acesbs.world; + +import com.acethewildfire.acesbs.AcesBS; +import net.minecraft.registry.Registerable; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.util.Identifier; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.FeatureConfig; +import net.minecraft.world.gen.feature.PlacedFeature; +import net.minecraft.world.gen.placementmodifier.PlacementModifier; + +import java.util.List; + +public class ModPlacedFeatures { + // CF -> PF -> WG + // CF: Could be a house + // PF: How is it placed + // WG: Where it is placed + + public static void bootstrap(Registerable context) { + var configuredFeatures = context.getRegistryLookup(RegistryKeys.CONFIGURED_FEATURE); + + } + + public static RegistryKey registerKey(String name) { + return RegistryKey.of(RegistryKeys.PLACED_FEATURE, Identifier.of(AcesBS.MOD_ID, name)); + } + + private static void register(Registerable context, RegistryKey key, RegistryEntry> configuration, + List modifiers) { + context.register(key, new PlacedFeature(configuration, List.copyOf(modifiers))); + } + + private static > void register(Registerable context, RegistryKey key, + RegistryEntry> configuration, + PlacementModifier... modifiers) { + register(context, key, configuration, List.of(modifiers)); + } + +} diff --git a/src/main/java/com/acethewildfire/acesbs/world/gen/ModWorldGeneration.java b/src/main/java/com/acethewildfire/acesbs/world/gen/ModWorldGeneration.java new file mode 100644 index 0000000..7189242 --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/world/gen/ModWorldGeneration.java @@ -0,0 +1,13 @@ +package com.acethewildfire.acesbs.world.gen; + +import com.acethewildfire.acesbs.AcesBS; + +public class ModWorldGeneration { + + public static void generateModWorldGen() { + AcesBS.LOGGER.info("Registering Mod World Gen for " + AcesBS.MOD_ID); + + + } + +}