Package org.bukkit.event.entity
Class EntityDamageEvent
java.lang.Object
org.bukkit.event.Event
org.bukkit.event.entity.EntityEvent
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
Nested Classes Modifier and Type Class Description static class
EntityDamageEvent.DamageCause
An enum to specify the cause of the damagestatic class
EntityDamageEvent.DamageModifier
An enum to specify the types of modifier -
Field Summary
-
Constructor Summary
Constructors Constructor Description EntityDamageEvent(Entity damagee, EntityDamageEvent.DamageCause cause, double damage)
Deprecated.EntityDamageEvent(Entity damagee, EntityDamageEvent.DamageCause cause, int damage)
Deprecated.EntityDamageEvent(Entity damagee, EntityDamageEvent.DamageCause cause, java.util.Map<EntityDamageEvent.DamageModifier,java.lang.Double> modifiers, java.util.Map<EntityDamageEvent.DamageModifier,? extends com.google.common.base.Function<? super java.lang.Double,java.lang.Double>> modifierFunctions)
-
Method Summary
Modifier and Type Method Description 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 eventdouble
getDamage(EntityDamageEvent.DamageModifier type)
Gets the damage change for some modifierdouble
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 anUnsupportedOperationException
.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.
-
Constructor Details
-
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, java.util.Map<EntityDamageEvent.DamageModifier,java.lang.Double> modifiers, java.util.Map<EntityDamageEvent.DamageModifier,? extends com.google.common.base.Function<? super java.lang.Double,java.lang.Double>> modifierFunctions)
-
-
Method Details
-
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 interfaceCancellable
- 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 interfaceCancellable
- Parameters:
cancel
- true if you wish to cancel this event
-
getOriginalDamage
public double getOriginalDamage(EntityDamageEvent.DamageModifier type) throws java.lang.IllegalArgumentExceptionGets the original damage for the specified modifier, as defined at this event's construction.- Parameters:
type
- the modifier- Returns:
- the original damage
- Throws:
java.lang.IllegalArgumentException
- if type is null
-
setDamage
public void setDamage(EntityDamageEvent.DamageModifier type, double damage) throws java.lang.IllegalArgumentException, java.lang.UnsupportedOperationExceptionSets the damage for the specified modifier.- Parameters:
type
- the damage modifierdamage
- the scalar value of the damage's modifier- Throws:
java.lang.IllegalArgumentException
- if type is nulljava.lang.UnsupportedOperationException
- if the caller does not support the particular DamageModifier, or to rephrase, whenisApplicable(DamageModifier)
returns false- See Also:
getFinalDamage()
-
getDamage
public double getDamage(EntityDamageEvent.DamageModifier type) throws java.lang.IllegalArgumentExceptionGets the damage change for some modifier- Parameters:
type
- the damage modifier- Returns:
- The raw amount of damage caused by the event
- Throws:
java.lang.IllegalArgumentException
- if type is null- See Also:
EntityDamageEvent.DamageModifier.BASE
-
isApplicable
public boolean isApplicable(EntityDamageEvent.DamageModifier type) throws java.lang.IllegalArgumentExceptionThis checks to see if a particular modifier is valid for this event's caller, such that,setDamage(DamageModifier, double)
will not throw anUnsupportedOperationException
.EntityDamageEvent.DamageModifier.BASE
is always applicable.- Parameters:
type
- the modifier- Returns:
- true if the modifier is supported by the caller, false otherwise
- Throws:
java.lang.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.- Returns:
- the (rounded) damage
-
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.- Parameters:
damage
- the new damage value
-
getCause
Gets the cause of the damage.- Returns:
- A DamageCause value detailing the cause of the damage.
-
getHandlers
- Specified by:
getHandlers
in classEvent
-
getHandlerList
-