Interface DamageSource
public interface DamageSource
Represents a
Cause for damage on the Entity being
damaged. Usually the DamageSource will have different properties
based on the DamageType and its associated tags
Almost always, the DamageSource will be the first element in
the Cause of the event. Any additional modifiers that "aid" the
Cause of the event will be listed subsequently.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic interface -
Method Summary
Modifier and TypeMethodDescriptionGets theBlockSnapshotof the source.static DamageSource.Builderbuilder()Creates a newbuilderto build aDamageSource.booleanGets whether thisDamageSourceis considered to damage creative, or otherwise "normally unharmable" players.default doubleGets the amount of exhaustion thisDamageSourcewill add to the entity, generally only to players.default booleanDeprecated.default booleanGets whether thisDamageSourcewill deal damage that bypasses any armor.default booleanGets whether thisDamageSourceis an explosion.default booleanisFire()Gets whether thisDamageSourceis considered to be "fire" based, can be from flames or blocks that are flaming, or the entity being on fire.default booleanisMagic()Gets whether thisDamageSourceis considered to be magical damage, such as potions, or other sources.default booleanGets whether thisDamageSource's damage is scaled byDifficulty.location()Gets the location of theBlockSnapshot.position()source()Gets theEntitythat is the source.type()Gets theDamageTypeof this source.
-
Method Details
-
builder
Creates a newbuilderto build aDamageSource.- Returns:
- A new builder
-
type
DamageType type()Gets theDamageTypeof this source.- Returns:
- The damage type
-
isAbsolute
Deprecated.Gets whether thisDamageSource's damage is absolute and will ignore potion effects and enchantments.- Returns:
- If this damage source deals absolute damage
-
isBypassingArmor
default boolean isBypassingArmor()Gets whether thisDamageSourcewill deal damage that bypasses any armor.- Returns:
- True if this damage source bypasses armor
-
isScaledByDifficulty
default boolean isScaledByDifficulty()Gets whether thisDamageSource's damage is scaled byDifficulty.- Returns:
- True if the damage from this source is scaled
-
isExplosive
default boolean isExplosive()Gets whether thisDamageSourceis an explosion.- Returns:
- True if this damage source is an explosion
-
isMagic
default boolean isMagic()Gets whether thisDamageSourceis considered to be magical damage, such as potions, or other sources.- Returns:
- If this damage is magic based
-
doesAffectCreative
boolean doesAffectCreative()Gets whether thisDamageSourceis considered to damage creative, or otherwise "normally unharmable" players. Usually associated withDamageTypes.OUT_OF_WORLD.- Returns:
- If this damage should affect creative players
-
isFire
default boolean isFire()Gets whether thisDamageSourceis considered to be "fire" based, can be from flames or blocks that are flaming, or the entity being on fire. Usually is possible to bypass or ignore this damage if the owning entity hasPotionEffectTypes.FIRE_RESISTANCEactive.- Returns:
- If this damage is considered fire
-
exhaustion
default double exhaustion()Gets the amount of exhaustion thisDamageSourcewill add to the entity, generally only to players.In vanilla gameplay this is set to 0.1 by default and overridden to 0 if the source is set to be absolute or as overriding armor.
- Returns:
- The increase in exhaustion
-
source
Gets theEntitythat is the source.Note that a
falling block entityhas some additional information available as data including -Keys.DAMAGE_PER_BLOCK-Keys.MAX_FALL_DAMAGE-Keys.CAN_HURT_ENTITIES-Keys.FALL_TIME-Keys.CAN_DROP_AS_ITEM-Keys.CAN_PLACE_AS_BLOCK- Returns:
- The entity source
-
indirectSource
- Returns:
- The indirect source
-
position
-
location
Optional<ServerLocation> location()Gets the location of theBlockSnapshot.- Returns:
- The location of the block
-
blockSnapshot
Optional<BlockSnapshot> blockSnapshot()Gets theBlockSnapshotof the source.- Returns:
- The block snapshot of the source
-