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. It is likely to be
removed very soon in a subsequent release. Please see
https://www.spigotmc.org/threads/194446/ for more information.
|
Event.Result
entity
Constructor | Description |
---|---|
EntityDamageEvent(Entity damagee,
EntityDamageEvent.DamageCause cause,
double damage) |
|
EntityDamageEvent(Entity damagee,
EntityDamageEvent.DamageCause cause,
Map<EntityDamageEvent.DamageModifier,Double> modifiers,
Map<EntityDamageEvent.DamageModifier,? extends com.google.common.base.Function<? super Double,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(@NotNull Entity damagee, @NotNull EntityDamageEvent.DamageCause cause, double damage)
public EntityDamageEvent(@NotNull Entity damagee, @NotNull EntityDamageEvent.DamageCause cause, @NotNull Map<EntityDamageEvent.DamageModifier,Double> modifiers, @NotNull Map<EntityDamageEvent.DamageModifier,? extends com.google.common.base.Function<? super Double,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(@NotNull EntityDamageEvent.DamageModifier type) throws IllegalArgumentException
type
- the modifierIllegalArgumentException
- if type is nullpublic void setDamage(@NotNull EntityDamageEvent.DamageModifier type, double damage) throws IllegalArgumentException, UnsupportedOperationException
type
- the damage modifierdamage
- the scalar value of the damage's modifierIllegalArgumentException
- if type is nullUnsupportedOperationException
- if the caller does not support
the particular DamageModifier, or to rephrase, when isApplicable(DamageModifier)
returns falsegetFinalDamage()
public double getDamage(@NotNull EntityDamageEvent.DamageModifier type) throws IllegalArgumentException
type
- the damage modifierIllegalArgumentException
- if type is nullEntityDamageEvent.DamageModifier.BASE
public boolean isApplicable(@NotNull EntityDamageEvent.DamageModifier type) throws IllegalArgumentException
setDamage(DamageModifier, double)
will not
throw an UnsupportedOperationException
.
EntityDamageEvent.DamageModifier.BASE
is always applicable.
type
- the modifierIllegalArgumentException
- 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 event@NotNull public EntityDamageEvent.DamageCause getCause()
@NotNull public HandlerList getHandlers()
getHandlers
in class Event
@NotNull public static HandlerList getHandlerList()
Copyright © 2020. All rights reserved.