Added EXPLOSION_PRIMED event.

By: culturespy <culturespy@gmail.com>
This commit is contained in:
Bukkit/Spigot 2011-02-03 21:59:42 -05:00
parent 13a3b24c47
commit 8d18ce772e
4 changed files with 64 additions and 0 deletions

View File

@ -533,6 +533,20 @@ public abstract class Event {
*/
ENTITY_EXPLODE (Category.LIVING_ENTITY),
/**
* Called when an entity has made a decision to explode.
*
* Provides an opportunity to act on the entity, change the explosion radius,
* or to change the fire-spread flag.
*
* Canceling the event negates the entity's decision to explode.
* For EntityCreeper, this resets the fuse but does not kill the Entity.
* For EntityFireball and EntityTNTPrimed....?
*
* @see org.bukkit.event.entity.EntityExplodeTriggerEvent
*/
EXPLOSION_PRIMED (Category.LIVING_ENTITY),
/**
* Called when an entity targets another entity
*

View File

@ -27,6 +27,9 @@ public class EntityListener implements Listener {
public void onEntityExplode(EntityExplodeEvent event) {
}
public void onExplosionPrimed(ExplosionPrimedEvent event) {
}
public void onEntityDeath(EntityDeathEvent event) {
}

View File

@ -0,0 +1,42 @@
package org.bukkit.event.entity;
import org.bukkit.entity.Entity;
import org.bukkit.event.Cancellable;
public class ExplosionPrimedEvent extends EntityEvent implements Cancellable {
private boolean cancel;
private float radius;
private boolean fire;
public ExplosionPrimedEvent(Type type, Entity what, float radius, boolean fire) {
super(type.EXPLOSION_PRIMED, what);
this.cancel = false;
this.radius = radius;
this.fire = fire;
}
public boolean isCancelled() {
return cancel;
}
public void setCancelled(boolean cancel) {
this.cancel = cancel;
}
public float getRadius() {
return radius;
}
public void setRadius(float radius) {
this.radius = radius;
}
public boolean getFire() {
return fire;
}
public void setFire(boolean fire) {
this.fire = fire;
}
}

View File

@ -343,6 +343,11 @@ public final class JavaPluginLoader implements PluginLoader {
((EntityListener)listener).onEntityExplode( (EntityExplodeEvent)event );
}
};
case EXPLOSION_PRIMED:
return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onExplosionPrimed( (ExplosionPrimedEvent)event );
}
};
case ENTITY_TARGET:
return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityTarget( (EntityTargetEvent)event );