Class AbstractDamageSource

  • All Implemented Interfaces:
    DamageSource

    public abstract class AbstractDamageSource
    extends java.lang.Object
    implements DamageSource
    An abstract implementation of DamageSource to allow plugins to create their own damage sources without having to implement all the required methods.

    Note that extending this class at the least is a requirement for custom damage sources as not doing so will simply not work.

    • Method Detail

      • isAbsolute

        public boolean isAbsolute()
        Description copied from interface: DamageSource
        Gets whether this DamageSource's damage is absolute and will ignore potion effects and enchantments.
        Specified by:
        isAbsolute in interface DamageSource
        Returns:
        If this damage source deals absolute damage
      • isBypassingArmor

        public boolean isBypassingArmor()
        Description copied from interface: DamageSource
        Gets whether this DamageSource will deal damage that bypasses any armor.
        Specified by:
        isBypassingArmor in interface DamageSource
        Returns:
        True if this damage source bypasses armor
      • isExplosive

        public boolean isExplosive()
        Description copied from interface: DamageSource
        Gets whether this DamageSource is an explosion.
        Specified by:
        isExplosive in interface DamageSource
        Returns:
        True if this damage source is an explosion
      • isMagic

        public boolean isMagic()
        Description copied from interface: DamageSource
        Gets whether this DamageSource is considered to be magical damage, such as potions, or other sources.
        Specified by:
        isMagic in interface DamageSource
        Returns:
        If this damage is magic based
      • doesAffectCreative

        public boolean doesAffectCreative()
        Description copied from interface: DamageSource
        Gets whether this DamageSource is considered to damage creative, or otherwise "normally unharmable" players. Usually associated with DamageTypes.VOID.
        Specified by:
        doesAffectCreative in interface DamageSource
        Returns:
        If this damage should affect creative players
      • isFire

        public boolean isFire()
        Description copied from interface: DamageSource
        Gets whether this DamageSource is 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 has PotionEffectTypes.FIRE_RESISTANCE active.
        Specified by:
        isFire in interface DamageSource
        Returns:
        If this damage is considered fire
      • exhaustion

        public double exhaustion()
        Description copied from interface: DamageSource
        Gets the amount of exhaustion this DamageSource will 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.

        Specified by:
        exhaustion in interface DamageSource
        Returns:
        The increase in exhaustion