These are the functions which can be called on a DamageSourceData object.



isExplosion:
    Arguments:
        boolean
    Usage:
        true/false
    Notes:
        Sets if the damage source is an explosion.

isProjectile:
    Arguments:
        boolean
    Usage:
        true/false
    Notes:
        Sets if the damage source is a projectile.

damageType:
    Arguments:
        String
    Usage:
        damage type
    Notes:
        Sets the damage type string used to construct the DamageSource. Vanilla examples include "inFire", "outOfWorld", "cactus", "drown", "starve"

isMagic:
    Arguments:
        boolean
    Usage:
        true/false
    Notes:
        Sets if the damage source is magic.

isFire:
    Arguments:
        boolean
    Usage:
        true/false
    Notes:
        Sets if the damage source is fire.

bypassesArmor:
    Arguments:
        boolean
    Usage:
        true/false
    Notes:
        Sets if the damage source bypasses armor.

bypassesMagic:
    Arguments:
        boolean
    Usage:
        true/false
    Notes:
        Sets if the damage source bypasses magic.

getSourceData:
    Notes:
        Returns the EntityData object for the source entity (This would be for the player/skeleton/etc.) so functions can be called on it.

bypassesInvulnerability:
    Arguments:
        boolean
    Usage:
        true/false
    Notes:
        Sets if the damage source bypasses invulerability.

getImmediateSourceData:
    Notes:
        Returns the EntityData object for the immediate source entity (This would be for things like projectiles.) so functions can be called on it.

