Interface DamageSource
- All Known Subinterfaces:
- BlockDamageSource,- EntityDamageSource,- FallingBlockDamageSource,- IndirectEntityDamageSource
- All Known Implementing Classes:
- AbstractDamageSource,- AbstractEntityDamageSource,- AbstractIndirectEntityDamageSource
public interface DamageSource
Represents a 
Cause for damage on the Entity being
 damaged. Usually the DamageSource will have different properties
 based on the source of damage, such as EntityDamageSources,
 BlockDamageSources, and FallingBlockDamageSources.
 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 SummaryNested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic interfaceDamageSource.DamageSourceBuilder<T extends DamageSource,B extends DamageSource.DamageSourceBuilder<T, B>> static interface
- 
Method SummaryModifier and TypeMethodDescriptionstatic DamageSource.Builderbuilder()Creates a newbuilderto build aDamageSource.booleanGets whether thisDamageSourceis considered to damage creative, or otherwise "normally unharmable" players.doubleGets the amount of exhaustion thisDamageSourcewill add to the entity, generally only to players.booleanGets whether thisDamageSource's damage is absolute and will ignore potion effects and enchantments.booleanGets whether thisDamageSourcewill deal damage that bypasses any armor.booleanGets whether thisDamageSourceis an explosion.booleanisFire()Gets whether thisDamageSourceis considered to be "fire" based, can be from flames or blocks that are flaming, or the entity being on fire.booleanisMagic()Gets whether thisDamageSourceis considered to be magical damage, such as potions, or other sources.booleanGets whether thisDamageSource's damage is scaled byDifficulty.type()Gets theDamageTypeof this source.
- 
Method Details- 
builderCreates a newbuilderto build aDamageSource.- Returns:
- A new builder
 
- 
typeDamageType type()Gets theDamageTypeof this source.- Returns:
- The damage type
 
- 
isAbsoluteboolean isAbsolute()Gets whether thisDamageSource's damage is absolute and will ignore potion effects and enchantments.- Returns:
- If this damage source deals absolute damage
 
- 
isBypassingArmorboolean isBypassingArmor()Gets whether thisDamageSourcewill deal damage that bypasses any armor.- Returns:
- True if this damage source bypasses armor
 
- 
isScaledByDifficultyboolean isScaledByDifficulty()Gets whether thisDamageSource's damage is scaled byDifficulty.- Returns:
- True if the damage from this source is scaled
 
- 
isExplosiveboolean isExplosive()Gets whether thisDamageSourceis an explosion.- Returns:
- True if this damage source is an explosion
 
- 
isMagicboolean isMagic()Gets whether thisDamageSourceis considered to be magical damage, such as potions, or other sources.- Returns:
- If this damage is magic based
 
- 
doesAffectCreativeboolean doesAffectCreative()Gets whether thisDamageSourceis considered to damage creative, or otherwise "normally unharmable" players. Usually associated withDamageTypes.VOID.- Returns:
- If this damage should affect creative players
 
- 
isFireboolean 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
 
- 
exhaustiondouble 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
 
 
-