001 package net.minecraftforge.event.entity.living;
002
003 import net.minecraft.entity.EntityLiving;
004 import net.minecraft.world.World;
005 import net.minecraftforge.event.Cancelable;
006 import net.minecraftforge.event.Event.HasResult;
007
008 public class LivingSpawnEvent extends LivingEvent
009 {
010 public final World world;
011 public final float x;
012 public final float y;
013 public final float z;
014
015 public LivingSpawnEvent(EntityLiving entity, World world, float x, float y, float z)
016 {
017 super(entity);
018 this.world = world;
019 this.x = x;
020 this.y = y;
021 this.z = z;
022 }
023
024 /**
025 * Fires before mob spawn events.
026 *
027 * Result is significant:
028 * DEFAULT: use vanilla spawn rules
029 * ALLOW: allow the spawn
030 * DENY: deny the spawn
031 *
032 */
033 @HasResult
034 public static class CheckSpawn extends LivingSpawnEvent
035 {
036 public CheckSpawn(EntityLiving entity, World world, float x, float y, float z)
037 {
038 super(entity, world, x, y, z);
039 }
040 }
041
042 @Cancelable
043 public static class SpecialSpawn extends LivingSpawnEvent
044 {
045 public SpecialSpawn(EntityLiving entity, World world, float x, float y, float z)
046 {
047 super(entity, world, x, y, z);
048 }
049 }
050 }