001 package org.bukkit.event.entity;
002
003 import org.bukkit.entity.Entity;
004 import org.bukkit.entity.Explosive;
005 import org.bukkit.event.Cancellable;
006 import org.bukkit.event.HandlerList;
007
008 /**
009 * Called when an entity has made a decision to explode.
010 */
011 public class ExplosionPrimeEvent extends EntityEvent implements Cancellable {
012 private static final HandlerList handlers = new HandlerList();
013 private boolean cancel;
014 private float radius;
015 private boolean fire;
016
017 public ExplosionPrimeEvent(final Entity what, final float radius, final boolean fire) {
018 super(what);
019 this.cancel = false;
020 this.radius = radius;
021 this.fire = fire;
022 }
023
024 public ExplosionPrimeEvent(final Explosive explosive) {
025 this(explosive, explosive.getYield(), explosive.isIncendiary());
026 }
027
028 public boolean isCancelled() {
029 return cancel;
030 }
031
032 public void setCancelled(boolean cancel) {
033 this.cancel = cancel;
034 }
035
036 /**
037 * Gets the radius of the explosion
038 *
039 * @return returns the radius of the explosion
040 */
041 public float getRadius() {
042 return radius;
043 }
044
045 /**
046 * Sets the radius of the explosion
047 *
048 * @param radius the radius of the explosion
049 */
050 public void setRadius(float radius) {
051 this.radius = radius;
052 }
053
054 /**
055 * Gets whether this explosion will create fire or not
056 *
057 * @return true if this explosion will create fire
058 */
059 public boolean getFire() {
060 return fire;
061 }
062
063 /**
064 * Sets whether this explosion will create fire or not
065 *
066 * @param fire true if you want this explosion to create fire
067 */
068 public void setFire(boolean fire) {
069 this.fire = fire;
070 }
071
072 @Override
073 public HandlerList getHandlers() {
074 return handlers;
075 }
076
077 public static HandlerList getHandlerList() {
078 return handlers;
079 }
080 }