org.bukkit.event.entity
Class EntityDamageEvent

java.lang.Object
  extended by org.bukkit.event.Event
      extended by org.bukkit.event.entity.EntityEvent
          extended by org.bukkit.event.entity.EntityDamageEvent
All Implemented Interfaces:
Cancellable
Direct Known Subclasses:
EntityDamageByBlockEvent, EntityDamageByEntityEvent

public class EntityDamageEvent
extends EntityEvent
implements Cancellable

Stores data for damage events


Nested Class Summary
static class EntityDamageEvent.DamageCause
          An enum to specify the cause of the damage
static class EntityDamageEvent.DamageModifier
          An enum to specify the types of modifier
 
Nested classes/interfaces inherited from class org.bukkit.event.Event
Event.Result
 
Field Summary
 
Fields inherited from class org.bukkit.event.entity.EntityEvent
entity
 
Constructor Summary
EntityDamageEvent(Entity damagee, EntityDamageEvent.DamageCause cause, double damage)
          Deprecated. 
EntityDamageEvent(Entity damagee, EntityDamageEvent.DamageCause cause, int damage)
          Deprecated. 
EntityDamageEvent(Entity damagee, EntityDamageEvent.DamageCause cause, Map<EntityDamageEvent.DamageModifier,Double> modifiers, Map<EntityDamageEvent.DamageModifier,? extends com.google.common.base.Function<? super Double,Double>> modifierFunctions)
           
 
Method Summary
 int _INVALID_getDamage()
          Deprecated. 
 void _INVALID_setDamage(int damage)
          Deprecated. 
 EntityDamageEvent.DamageCause getCause()
          Gets the cause of the damage.
 double getDamage()
          Gets the raw amount of damage caused by the event
 double getDamage(EntityDamageEvent.DamageModifier type)
          Gets the damage change for some modifier
 double getFinalDamage()
          Gets the amount of damage caused by the event after all damage reduction is applied.
static HandlerList getHandlerList()
           
 HandlerList getHandlers()
           
 double getOriginalDamage(EntityDamageEvent.DamageModifier type)
          Gets the original damage for the specified modifier, as defined at this event's construction.
 boolean isApplicable(EntityDamageEvent.DamageModifier type)
          This checks to see if a particular modifier is valid for this event's caller, such that, setDamage(DamageModifier, double) will not throw an UnsupportedOperationException.
 boolean isCancelled()
          Gets the cancellation state of this event.
 void setCancelled(boolean cancel)
          Sets the cancellation state of this event.
 void setDamage(double damage)
          Sets the raw amount of damage caused by the event.
 void setDamage(EntityDamageEvent.DamageModifier type, double damage)
          Sets the damage for the specified modifier.
 
Methods inherited from class org.bukkit.event.entity.EntityEvent
getEntity, getEntityType
 
Methods inherited from class org.bukkit.event.Event
getEventName, isAsynchronous
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EntityDamageEvent

@Deprecated
public EntityDamageEvent(Entity damagee,
                                    EntityDamageEvent.DamageCause cause,
                                    int damage)
Deprecated. 


EntityDamageEvent

@Deprecated
public EntityDamageEvent(Entity damagee,
                                    EntityDamageEvent.DamageCause cause,
                                    double damage)
Deprecated. 


EntityDamageEvent

public EntityDamageEvent(Entity damagee,
                         EntityDamageEvent.DamageCause cause,
                         Map<EntityDamageEvent.DamageModifier,Double> modifiers,
                         Map<EntityDamageEvent.DamageModifier,? extends com.google.common.base.Function<? super Double,Double>> modifierFunctions)
Method Detail

isCancelled

public boolean isCancelled()
Description copied from interface: Cancellable
Gets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins

Specified by:
isCancelled in interface Cancellable
Returns:
true if this event is cancelled

setCancelled

public void setCancelled(boolean cancel)
Description copied from interface: Cancellable
Sets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins.

Specified by:
setCancelled in interface Cancellable
Parameters:
cancel - true if you wish to cancel this event

getOriginalDamage

public double getOriginalDamage(EntityDamageEvent.DamageModifier type)
                         throws IllegalArgumentException
Gets the original damage for the specified modifier, as defined at this event's construction.

Parameters:
type - the modifier
Throws:
IllegalArgumentException - if type is null

setDamage

public void setDamage(EntityDamageEvent.DamageModifier type,
                      double damage)
               throws IllegalArgumentException,
                      UnsupportedOperationException
Sets the damage for the specified modifier.

Parameters:
damage - the scalar value of the damage's modifier
Throws:
IllegalArgumentException - if type is null
UnsupportedOperationException - if the caller does not support the particular DamageModifier, or to rephrase, when isApplicable(DamageModifier) returns false
See Also:
getFinalDamage()

getDamage

public double getDamage(EntityDamageEvent.DamageModifier type)
                 throws IllegalArgumentException
Gets the damage change for some modifier

Returns:
The raw amount of damage caused by the event
Throws:
IllegalArgumentException - if type is null
See Also:
EntityDamageEvent.DamageModifier.BASE

isApplicable

public boolean isApplicable(EntityDamageEvent.DamageModifier type)
                     throws IllegalArgumentException
This checks to see if a particular modifier is valid for this event's caller, such that, setDamage(DamageModifier, double) will not throw an UnsupportedOperationException.

EntityDamageEvent.DamageModifier.BASE is always applicable.

Parameters:
type - the modifier
Returns:
true if the modifier is supported by the caller, false otherwise
Throws:
IllegalArgumentException - if type is null

getDamage

public double getDamage()
Gets the raw amount of damage caused by the event

Returns:
The raw amount of damage caused by the event
See Also:
EntityDamageEvent.DamageModifier.BASE

getFinalDamage

public final double getFinalDamage()
Gets the amount of damage caused by the event after all damage reduction is applied.

Returns:
the amount of damage caused by the event

_INVALID_getDamage

@Deprecated
public int _INVALID_getDamage()
Deprecated. 

This method exists for legacy reasons to provide backwards compatibility. It will not exist at runtime and should not be used under any circumstances.


setDamage

public void setDamage(double damage)
Sets the raw amount of damage caused by the event.

For compatibility this also recalculates the modifiers and scales them by the difference between the modifier for the previous damage value and the new one.

Parameters:
damage - The raw amount of damage caused by the event

_INVALID_setDamage

@Deprecated
public void _INVALID_setDamage(int damage)
Deprecated. 

This method exists for legacy reasons to provide backwards compatibility. It will not exist at runtime and should not be used under any circumstances.


getCause

public EntityDamageEvent.DamageCause getCause()
Gets the cause of the damage.

Returns:
A DamageCause value detailing the cause of the damage.

getHandlers

public HandlerList getHandlers()
Specified by:
getHandlers in class Event

getHandlerList

public static HandlerList getHandlerList()


Copyright © 2014. All rights reserved.