Interface DamageSource
-
- All Known Subinterfaces:
BlockDamageSource,EntityDamageSource,FallingBlockDamageSource,IndirectEntityDamageSource
- All Known Implementing Classes:
AbstractDamageSource,AbstractEntityDamageSource,AbstractIndirectEntityDamageSource
public interface DamageSourceRepresents aCausefor damage on theEntitybeing damaged. Usually theDamageSourcewill have different properties based on the source of damage, such asEntityDamageSources,BlockDamageSources, andFallingBlockDamageSources.Almost always, the
DamageSourcewill be the first element in theCauseof the event. Any additional modifiers that "aid" theCauseof the event will be listed subsequently.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceDamageSource.Builderstatic interfaceDamageSource.DamageSourceBuilder<T extends DamageSource,B extends DamageSource.DamageSourceBuilder<T,B>>static interfaceDamageSource.Factory
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static DamageSource.Builderbuilder()Creates a newbuilderto build aDamageSource.booleandoesAffectCreative()Gets whether thisDamageSourceis considered to damage creative, or otherwise "normally unharmable" players.doubleexhaustion()Gets the amount of exhaustion thisDamageSourcewill add to the entity, generally only to players.booleanisAbsolute()Gets whether thisDamageSource's damage is absolute and will ignore potion effects and enchantments.booleanisBypassingArmor()Gets whether thisDamageSourcewill deal damage that bypasses any armor.booleanisExplosive()Gets 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.booleanisScaledByDifficulty()Gets whether thisDamageSource's damage is scaled byDifficulty.DamageTypetype()Gets theDamageTypeof this source.
-
-
-
Method Detail
-
builder
static DamageSource.Builder builder()
Creates a newbuilderto build aDamageSource.- Returns:
- A new builder
-
type
DamageType type()
Gets theDamageTypeof this source.- Returns:
- The damage type
-
isAbsolute
boolean isAbsolute()
Gets whether thisDamageSource's damage is absolute and will ignore potion effects and enchantments.- Returns:
- If this damage source deals absolute damage
-
isBypassingArmor
boolean isBypassingArmor()
Gets whether thisDamageSourcewill deal damage that bypasses any armor.- Returns:
- True if this damage source bypasses armor
-
isScaledByDifficulty
boolean isScaledByDifficulty()
Gets whether thisDamageSource's damage is scaled byDifficulty.- Returns:
- True if the damage from this source is scaled
-
isExplosive
boolean isExplosive()
Gets whether thisDamageSourceis an explosion.- Returns:
- True if this damage source is an explosion
-
isMagic
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.VOID.- Returns:
- If this damage should affect creative players
-
isFire
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
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
-
-