1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
package org.bukkit.event.entity;
import org.bukkit.entity.CreatureType;
import org.bukkit.entity.Entity;
import org.bukkit.Location;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
/**
* Called when a creature is spawned into a world.
* <p />
* If a Creature Spawn event is cancelled, the creature will not spawn.
*/
@SuppressWarnings("serial")
public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private Location location;
private boolean canceled;
private CreatureType creatureType;
private SpawnReason spawnReason;
public CreatureSpawnEvent(Entity spawnee, CreatureType mobtype, Location loc, SpawnReason spawnReason) {
super(Type.CREATURE_SPAWN, spawnee);
this.creatureType = mobtype;
this.location = loc;
this.spawnReason = spawnReason;
}
public boolean isCancelled() {
return canceled;
}
public void setCancelled(boolean cancel) {
canceled = cancel;
}
/**
* Gets the location at which the creature is spawning.
*
* @return The location at which the creature is spawning
*/
public Location getLocation() {
return location;
}
/**
* Gets the type of creature being spawned.
*
* @return A CreatureType value detailing the type of creature being spawned
*/
public CreatureType getCreatureType() {
return creatureType;
}
/**
* Gets the reason for why the creature is being spawned.
*
* @return A SpawnReason value detailing the reason for the creature being spawned
*/
public SpawnReason getSpawnReason() {
return spawnReason;
}
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
/**
* An enum to specify the type of spawning
*/
public enum SpawnReason {
/**
* When something spawns from natural means
*/
NATURAL,
/**
* When a creature spawns from a spawner
*/
SPAWNER,
/**
* When a creature spawns from an egg
*/
EGG,
/**
* When a creature spawns from a Spawner Egg
*/
SPAWNER_EGG,
/**
* When a creature spawns because of a lightning strike
*/
LIGHTNING,
/**
* When a creature is spawned by a player that is sleeping
*/
BED,
/**
* When a snowman is spawned by being built
*/
BUILD_SNOWMAN,
/**
* When a creature is manually spawned
*/
CUSTOM
}
}
|