Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mcreator.rksmobs.init;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.event.world.BiomeLoadingEvent;
- import net.minecraftforge.event.RegistryEvent;
- import net.minecraft.world.level.levelgen.feature.Feature;
- import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
- import net.minecraft.world.level.levelgen.GenerationStep;
- import net.minecraft.resources.ResourceLocation;
- import net.minecraft.data.BuiltinRegistries;
- import net.minecraft.core.Registry;
- import net.mcreator.rksmobs.world.features.RockMonumentFeature;
- import java.util.Set;
- import java.util.Map;
- import java.util.HashMap;
- @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
- public class RksMobsModFeatures {
- private static final Map<Feature<?>, FeatureRegistration> REGISTRY = new HashMap<>();
- static {
- REGISTRY.put(RockMonumentFeature.FEATURE, new FeatureRegistration(GenerationStep.Decoration.SURFACE_STRUCTURES,
- RockMonumentFeature.GENERATE_BIOMES, RockMonumentFeature.CONFIGURED_FEATURE));
- }
- @SubscribeEvent
- public static void registerFeature(RegistryEvent.Register<Feature<?>> event) {
- event.getRegistry().registerAll(REGISTRY.keySet().toArray(new Feature[0]));
- REGISTRY.forEach((feature, registration) -> Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, feature.getRegistryName(),
- registration.configuredFeature()));
- }
- @Mod.EventBusSubscriber
- private static class BiomeFeatureLoader {
- @SubscribeEvent
- public static void addFeatureToBiomes(BiomeLoadingEvent event) {
- for (FeatureRegistration registration : REGISTRY.values()) {
- if (registration.biomes() == null || registration.biomes().contains(event.getName())) {
- event.getGeneration().getFeatures(registration.stage()).add(() -> registration.configuredFeature());
- }
- }
- }
- }
- private static record FeatureRegistration(GenerationStep.Decoration stage, Set<ResourceLocation> biomes,
- ConfiguredFeature<?, ?> configuredFeature) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment