diff --git a/src/main/java/fathertoast/specialmobs/common/core/SpecialMobs.java b/src/main/java/fathertoast/specialmobs/common/core/SpecialMobs.java index e3a0a93..8cc0398 100644 --- a/src/main/java/fathertoast/specialmobs/common/core/SpecialMobs.java +++ b/src/main/java/fathertoast/specialmobs/common/core/SpecialMobs.java @@ -4,7 +4,9 @@ import fathertoast.specialmobs.common.bestiary.MobFamily; import fathertoast.specialmobs.common.config.Config; import fathertoast.specialmobs.common.core.register.SMEntities; import fathertoast.specialmobs.common.core.register.SMItems; +import fathertoast.specialmobs.common.event.BiomeEvents; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; @@ -101,7 +103,8 @@ public class SpecialMobs { //packetHandler.registerMessages(); //MinecraftForge.EVENT_BUS.register( new SMEventListener() ); - + MinecraftForge.EVENT_BUS.register( new BiomeEvents() ); + IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus(); eventBus.addListener( SMEntities::createAttributes ); diff --git a/src/main/java/fathertoast/specialmobs/common/event/BiomeEvents.java b/src/main/java/fathertoast/specialmobs/common/event/BiomeEvents.java new file mode 100644 index 0000000..e02922b --- /dev/null +++ b/src/main/java/fathertoast/specialmobs/common/event/BiomeEvents.java @@ -0,0 +1,28 @@ +package fathertoast.specialmobs.common.event; + +import net.minecraft.entity.EntityType; +import net.minecraft.world.biome.MobSpawnInfo; +import net.minecraftforge.common.world.MobSpawnInfoBuilder; +import net.minecraftforge.event.world.BiomeLoadingEvent; +import net.minecraftforge.eventbus.api.EventPriority; +import net.minecraftforge.eventbus.api.SubscribeEvent; + +public class BiomeEvents { + + @SubscribeEvent(priority = EventPriority.HIGH) + public void onBiomeLoad(BiomeLoadingEvent event) { + // Vanilla biome weirdness. Registry name can be null + if (event.getName() == null) + return; + + // TODO - This is the place to add spawns to biomes if needed, rather than replacing + + //MobSpawnInfoBuilder spawnInfoBuilder = event.getSpawns(); + + //for (EntityType entityType : spawnInfoBuilder.getEntityTypes()) { + // if (Thing.hasMobVariant(entityType)) { + // spawnInfoBuilder.addSpawn(entityType.getCategory(), new MobSpawnInfo.Spawners(woah, ohMan, aaaugh, HAAAAUGGHHH)); + // } + //} + } +}