Skip to content

Commit

Permalink
Define EntitySpawnEvent and SpawnerSpawnEvent
Browse files Browse the repository at this point in the history
Defines EntitySpawnEvent and SpawnerSpawnEvent. Adds BUKKIT-267 and BUKKIT-1559
  • Loading branch information
ams2990 authored and SpigotMC committed Sep 4, 2014
1 parent 3922251 commit db3880b
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 65 deletions.
32 changes: 1 addition & 31 deletions src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,13 @@
import org.bukkit.entity.CreatureType;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
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.
*/
public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private boolean canceled;
public class CreatureSpawnEvent extends EntitySpawnEvent {
private final SpawnReason spawnReason;

public CreatureSpawnEvent(final LivingEntity spawnee, final SpawnReason spawnReason) {
Expand All @@ -28,28 +24,11 @@ public CreatureSpawnEvent(Entity spawnee, CreatureType type, Location loc, Spawn
spawnReason = reason;
}

public boolean isCancelled() {
return canceled;
}

public void setCancelled(boolean cancel) {
canceled = cancel;
}

@Override
public LivingEntity getEntity() {
return (LivingEntity) entity;
}

/**
* Gets the location at which the creature is spawning.
*
* @return The location at which the creature is spawning
*/
public Location getLocation() {
return getEntity().getLocation();
}

/**
* Gets the type of creature being spawned.
*
Expand All @@ -72,15 +51,6 @@ 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
*/
Expand Down
45 changes: 45 additions & 0 deletions src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package org.bukkit.event.entity;

import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.event.HandlerList;

/**
* Called when an entity is spawned into a world.
* <p>
* If an Entity Spawn event is cancelled, the entity will not spawn.
*/
public class EntitySpawnEvent extends EntityEvent implements org.bukkit.event.Cancellable {
private static final HandlerList handlers = new HandlerList();
private boolean canceled;

public EntitySpawnEvent(final Entity spawnee) {
super(spawnee);
}

public boolean isCancelled() {
return canceled;
}

public void setCancelled(boolean cancel) {
canceled = cancel;
}

/**
* Gets the location at which the entity is spawning.
*
* @return The location at which the entity is spawning
*/
public Location getLocation() {
return getEntity().getLocation();
}

@Override
public HandlerList getHandlers() {
return handlers;
}

public static HandlerList getHandlerList() {
return handlers;
}
}
40 changes: 6 additions & 34 deletions src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java
Original file line number Diff line number Diff line change
@@ -1,51 +1,23 @@
package org.bukkit.event.entity;

import org.bukkit.entity.Item;
import org.bukkit.Location;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.entity.Item;

/**
* Called when an item is spawned into a world
*/
public class ItemSpawnEvent extends EntityEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private final Location location;
private boolean canceled;

public ItemSpawnEvent(final Item spawnee, final Location loc) {
public class ItemSpawnEvent extends EntitySpawnEvent {
public ItemSpawnEvent(final Item spawnee) {
super(spawnee);
this.location = loc;
}

public boolean isCancelled() {
return canceled;
}

public void setCancelled(boolean cancel) {
canceled = cancel;
@Deprecated
public ItemSpawnEvent(final Item spawnee, final Location loc) {
this(spawnee);
}

@Override
public Item getEntity() {
return (Item) entity;
}

/**
* Gets the location at which the item is spawning.
*
* @return The location at which the item is spawning
*/
public Location getLocation() {
return location;
}

@Override
public HandlerList getHandlers() {
return handlers;
}

public static HandlerList getHandlerList() {
return handlers;
}
}
22 changes: 22 additions & 0 deletions src/main/java/org/bukkit/event/entity/SpawnerSpawnEvent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.bukkit.event.entity;

import org.bukkit.block.CreatureSpawner;
import org.bukkit.entity.Entity;

/**
* Called when an entity is spawned into a world by a spawner.
* <p>
* If a Spawner Spawn event is cancelled, the entity will not spawn.
*/
public class SpawnerSpawnEvent extends EntitySpawnEvent {
private final CreatureSpawner spawner;

public SpawnerSpawnEvent(final Entity spawnee, final CreatureSpawner spawner) {
super(spawnee);
this.spawner = spawner;
}

public CreatureSpawner getSpawner() {
return spawner;
}
}

0 comments on commit db3880b

Please sign in to comment.