Files
MasterWild/src/main/java/ovh/glitchlabs/masterwild/event/ModSpawnPlacements.java
T
ian1337 a78ebd94c8 [add] Capybara
[fix] exedently delete MonkeyModel rendere Event
2026-09-29 16:58:34 +02:00

53 lines
3.1 KiB
Java

package ovh.glitchlabs.masterwild.event;
import net.minecraft.world.entity.SpawnPlacementTypes;
import net.minecraft.world.entity.animal.Animal;
import net.minecraft.world.entity.animal.WaterAnimal;
import net.minecraft.world.level.levelgen.Heightmap;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.event.entity.RegisterSpawnPlacementsEvent;
import ovh.glitchlabs.masterwild.Masterwild;
import ovh.glitchlabs.masterwild.entity.ModEntities;
@EventBusSubscriber(modid = Masterwild.MODID)
public class ModSpawnPlacements {
@SubscribeEvent
public static void registerSpawnPlacements(RegisterSpawnPlacementsEvent event) {
event.register(ModEntities.RACCOON.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.PINGUIN.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.ROOSTER.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.HEDGEHOG.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.RED_PANDA.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.MONKEY.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.CAPYBARA.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.SHARK.get(), SpawnPlacementTypes.IN_WATER,
Heightmap.Types.OCEAN_FLOOR, WaterAnimal::checkSurfaceWaterAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.FIREFLY.get(), SpawnPlacementTypes.NO_RESTRICTIONS,
Heightmap.Types.MOTION_BLOCKING,
(type, level, reason, pos, random) -> level.getLevel().isNight(),
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.BUTTERFLY.get(), SpawnPlacementTypes.NO_RESTRICTIONS,
Heightmap.Types.MOTION_BLOCKING,
(type, level, reason, pos, random) -> level.getLevel().isDay() && level.canSeeSky(pos),
RegisterSpawnPlacementsEvent.Operation.REPLACE);
}
}