Cancellable
EntityDamageByBlockEvent
, EntityDamageByEntityEvent
public class EntityDamageEvent extends EntityEvent implements Cancellable
Modifier and Type | Class | Description |
---|---|---|
static class |
EntityDamageEvent.DamageCause |
An enum to specify the cause of the damage
|
static class |
EntityDamageEvent.DamageModifier |
Deprecated.
This API is responsible for a large number of implementation
problems and is in general unsustainable to maintain.
|
Event.Result
entity
Constructor | Description |
---|---|
EntityDamageEvent(Entity damagee,
EntityDamageEvent.DamageCause cause,
double damage) |
|
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) |
Modifier and Type | Method | Description |
---|---|---|
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.
|
getEntity, getEntityType
getEventName, isAsynchronous
public EntityDamageEvent(Entity damagee, EntityDamageEvent.DamageCause cause, double damage)
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)
public boolean isCancelled()
Cancellable
isCancelled
in interface Cancellable
public void setCancelled(boolean cancel)
Cancellable
setCancelled
in interface Cancellable
cancel
- true if you wish to cancel this eventpublic double getOriginalDamage(EntityDamageEvent.DamageModifier type) throws java.lang.IllegalArgumentException
type
- the modifierjava.lang.IllegalArgumentException
- if type is nullpublic void setDamage(EntityDamageEvent.DamageModifier type, double damage) throws java.lang.IllegalArgumentException, java.lang.UnsupportedOperationException
type
- the damage modifierdamage
- the scalar value of the damage's modifierjava.lang.IllegalArgumentException
- if type is nulljava.lang.UnsupportedOperationException
- if the caller does not support
the particular DamageModifier, or to rephrase, when isApplicable(DamageModifier)
returns falsegetFinalDamage()
public double getDamage(EntityDamageEvent.DamageModifier type) throws java.lang.IllegalArgumentException
type
- the damage modifierjava.lang.IllegalArgumentException
- if type is nullEntityDamageEvent.DamageModifier.BASE
public boolean isApplicable(EntityDamageEvent.DamageModifier type) throws java.lang.IllegalArgumentException
setDamage(DamageModifier, double)
will not
throw an UnsupportedOperationException
.
EntityDamageEvent.DamageModifier.BASE
is always applicable.
type
- the modifierjava.lang.IllegalArgumentException
- if type is nullpublic double getDamage()
EntityDamageEvent.DamageModifier.BASE
public final double getFinalDamage()
public void setDamage(double damage)
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.
damage
- The raw amount of damage caused by the eventpublic EntityDamageEvent.DamageCause getCause()
public HandlerList getHandlers()
getHandlers
in class Event
public static HandlerList getHandlerList()
Copyright © 2018. All rights reserved.