public class EntityDamageEvent extends EntityEvent implements Cancellable
Modifier and Type | Class and 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 and Description |
---|
EntityDamageEvent(@NotNull Entity damagee,
@NotNull EntityDamageEvent.DamageCause cause,
double damage) |
EntityDamageEvent(@NotNull Entity damagee,
@NotNull EntityDamageEvent.DamageCause cause,
@NotNull Map<EntityDamageEvent.DamageModifier,Double> modifiers,
@NotNull Map<EntityDamageEvent.DamageModifier,? extends Function<? super Double,Double>> modifierFunctions) |
Modifier and Type | Method and Description |
---|---|
@NotNull EntityDamageEvent.DamageCause |
getCause()
Gets the cause of the damage.
|
double |
getDamage()
Gets the raw amount of damage caused by the event
|
double |
getDamage(@NotNull 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 @NotNull HandlerList |
getHandlerList() |
@NotNull HandlerList |
getHandlers() |
double |
getOriginalDamage(@NotNull EntityDamageEvent.DamageModifier type)
Gets the original damage for the specified modifier, as defined at this
event's construction.
|
boolean |
isApplicable(@NotNull 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(@NotNull EntityDamageEvent.DamageModifier type,
double damage)
Sets the damage for the specified modifier.
|
getEntity, getEntityType
callEvent, getEventName, isAsynchronous
public EntityDamageEvent(@NotNull @NotNull Entity damagee, @NotNull @NotNull EntityDamageEvent.DamageCause cause, double damage)
public EntityDamageEvent(@NotNull @NotNull Entity damagee, @NotNull @NotNull EntityDamageEvent.DamageCause cause, @NotNull @NotNull Map<EntityDamageEvent.DamageModifier,Double> modifiers, @NotNull @NotNull Map<EntityDamageEvent.DamageModifier,? extends 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 @NotNull EntityDamageEvent.DamageModifier type) throws IllegalArgumentException
type
- the modifierIllegalArgumentException
- if type is nullpublic void setDamage(@NotNull @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 @NotNull EntityDamageEvent.DamageModifier type) throws IllegalArgumentException
type
- the damage modifierIllegalArgumentException
- if type is nullEntityDamageEvent.DamageModifier.BASE
public boolean isApplicable(@NotNull @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 @NotNull EntityDamageEvent.DamageCause getCause()
@NotNull public @NotNull HandlerList getHandlers()
getHandlers
in class Event
@NotNull public static @NotNull HandlerList getHandlerList()
Copyright © 2021. All rights reserved.