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(@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 com.google.common.base.Function<? super Double,Double>> modifierFunctions) |
Modifier and Type | Method | 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 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 @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 © 2020. All rights reserved.