## Uses of Class
net.minecraft.util.DamageSource

- Packages that use DamageSource
  Package | Description
  --- | ---
  net.minecraft.client.entity |
  net.minecraft.enchantment |
  net.minecraft.entity |
  net.minecraft.entity.boss |
  net.minecraft.entity.item |
  net.minecraft.entity.monster |
  net.minecraft.entity.passive |
  net.minecraft.entity.player |
  net.minecraft.entity.projectile |
  net.minecraft.util |
  net.minecraftforge.common |
  net.minecraftforge.event.entity.living |
  net.minecraftforge.event.entity.player |

- - ### Uses of DamageSource in net.minecraft.client.entity

    Methods in net.minecraft.client.entity with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityClientPlayerMP.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityOtherPlayerMP.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.

  - ### Uses of DamageSource in net.minecraft.enchantment

    Methods in net.minecraft.enchantment with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `int` | EnchantmentProtection.`calcModifierDamage(int par1, DamageSource par2DamageSource)` Calculates de damage protection of the enchantment based on level and damage source passed.
    `int` | Enchantment.`calcModifierDamage(int par1, DamageSource par2DamageSource)` Calculates de damage protection of the enchantment based on level and damage source passed.
    `static int` | EnchantmentHelper.`getEnchantmentModifierDamage(ItemStack[] par0ArrayOfItemStack, DamageSource par1DamageSource)` Returns the modifier of protection enchantments on armors equipped on player.

  - ### Uses of DamageSource in net.minecraft.entity

    Methods in net.minecraft.entity with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityHanging.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityLiving.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | Entity.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | IEntityMultiPart.`attackEntityFromPart(EntityDragonPart var1, DamageSource var2, int var3)`
    `void` | EntityLiving.`onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.

  - ### Uses of DamageSource in net.minecraft.entity.boss

    Methods in net.minecraft.entity.boss with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityDragon.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityWither.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityDragonPart.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityDragon.`attackEntityFromPart(EntityDragonPart par1EntityDragonPart, DamageSource par2DamageSource, int par3)`

  - ### Uses of DamageSource in net.minecraft.entity.item

    Methods in net.minecraft.entity.item with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityMinecart.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityXPOrb.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityBoat.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityItem.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityEnderCrystal.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.

  - ### Uses of DamageSource in net.minecraft.entity.monster

    Methods in net.minecraft.entity.monster with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityGhast.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityMob.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntitySilverfish.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityEnderman.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityPigZombie.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `void` | EntitySkeleton.`onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.
    `void` | EntityIronGolem.`onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.
    `void` | EntityCreeper.`onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.

  - ### Uses of DamageSource in net.minecraft.entity.passive

    Methods in net.minecraft.entity.passive with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityBat.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityWolf.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityAnimal.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityOcelot.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `void` | EntityVillager.`onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.

  - ### Uses of DamageSource in net.minecraft.entity.player

    Methods in net.minecraft.entity.player with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntityPlayer.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityPlayerMP.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `void` | EntityPlayer.`onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.
    `void` | EntityPlayerMP.`onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.

  - ### Uses of DamageSource in net.minecraft.entity.projectile

    Methods in net.minecraft.entity.projectile with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | EntitySmallFireball.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityWitherSkull.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | EntityFireball.`attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.

  - ### Uses of DamageSource in net.minecraft.util

    Subclasses of DamageSource in net.minecraft.util
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EntityDamageSource`
    `class` | `EntityDamageSourceIndirect`

    Fields in net.minecraft.util declared as DamageSource
    Modifier and Type | Field and Description
    --- | ---
    `static DamageSource` | DamageSource.`anvil`
    `static DamageSource` | DamageSource.`cactus`
    `static DamageSource` | DamageSource.`drown`
    `static DamageSource` | DamageSource.`explosion`
    `static DamageSource` | DamageSource.`explosion2`
    `static DamageSource` | DamageSource.`fall`
    `static DamageSource` | DamageSource.`fallingBlock`
    `static DamageSource` | DamageSource.`generic`
    `static DamageSource` | DamageSource.`inFire`
    `static DamageSource` | DamageSource.`inWall`
    `static DamageSource` | DamageSource.`lava`
    `static DamageSource` | DamageSource.`magic`
    `static DamageSource` | DamageSource.`onFire`
    `static DamageSource` | DamageSource.`outOfWorld`
    `static DamageSource` | DamageSource.`starve`
    `static DamageSource` | DamageSource.`wither`

    Methods in net.minecraft.util that return DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `static DamageSource` | DamageSource.`causeArrowDamage(EntityArrow par0EntityArrow, Entity par1Entity)` returns EntityDamageSourceIndirect of an arrow
    `static DamageSource` | DamageSource.`causeFireballDamage(EntityFireball par0EntityFireball, Entity par1Entity)` returns EntityDamageSourceIndirect of a fireball
    `static DamageSource` | DamageSource.`causeIndirectMagicDamage(Entity par0Entity, Entity par1Entity)`
    `static DamageSource` | DamageSource.`causeMobDamage(EntityLiving par0EntityLiving)`
    `static DamageSource` | DamageSource.`causePlayerDamage(EntityPlayer par0EntityPlayer)` returns an EntityDamageSource of type player
    `static DamageSource` | DamageSource.`causeThrownDamage(Entity par0Entity, Entity par1Entity)`
    `static DamageSource` | DamageSource.`func_92087_a(Entity par0Entity)`
    `DamageSource` | DamageSource.`setDifficultyScaled()` Set whether this damage source will have its damage amount scaled based on the current difficulty.
    `DamageSource` | DamageSource.`setMagicDamage()` Define the damage type as magic based.
    `DamageSource` | DamageSource.`setProjectile()` Define the damage type as projectile based.

  - ### Uses of DamageSource in net.minecraftforge.common

    Methods in net.minecraftforge.common with parameters of type DamageSource
    Modifier and Type | Method and Description
    --- | ---
    `static int` | ISpecialArmor.ArmorProperties.`ApplyArmor(EntityLiving entity, ItemStack[] inventory, DamageSource source, double damage)` Gathers and applies armor reduction to damage being dealt to a entity.
    `void` | ISpecialArmor.`damageArmor(EntityLiving entity, ItemStack stack, DamageSource source, int damage, int slot)` Applies damage to the ItemStack.
    `ISpecialArmor.ArmorProperties` | ISpecialArmor.`getProperties(EntityLiving player, ItemStack armor, DamageSource source, double damage, int slot)` Retrieves the modifiers to be used when calculating armor damage.
    `static boolean` | ForgeHooks.`onLivingAttack(EntityLiving entity, DamageSource src, int amount)`
    `static boolean` | ForgeHooks.`onLivingDeath(EntityLiving entity, DamageSource src)`
    `static boolean` | ForgeHooks.`onLivingDrops(EntityLiving entity, DamageSource source, ArrayList<EntityItem> drops, int lootingLevel, boolean recentlyHit, int specialDropValue)`
    `static int` | ForgeHooks.`onLivingHurt(EntityLiving entity, DamageSource src, int amount)`

  - ### Uses of DamageSource in net.minecraftforge.event.entity.living

    Fields in net.minecraftforge.event.entity.living declared as DamageSource
    Modifier and Type | Field and Description
    --- | ---
    `DamageSource` | LivingHurtEvent.`source`
    `DamageSource` | LivingDropsEvent.`source`
    `DamageSource` | LivingAttackEvent.`source`
    `DamageSource` | LivingDeathEvent.`source`

    Constructors in net.minecraftforge.event.entity.living with parameters of type DamageSource
    Constructor and Description
    `LivingAttackEvent(EntityLiving entity, DamageSource source, int ammount)`
    `LivingDeathEvent(EntityLiving entity, DamageSource source)`
    `LivingDropsEvent(EntityLiving entity, DamageSource source, ArrayList<EntityItem> drops, int lootingLevel, boolean recentlyHit, int specialDropValue)`
    `LivingHurtEvent(EntityLiving entity, DamageSource source, int ammount)`

  - ### Uses of DamageSource in net.minecraftforge.event.entity.player

    Constructors in net.minecraftforge.event.entity.player with parameters of type DamageSource
    Constructor and Description
    `PlayerDropsEvent(EntityPlayer entity, DamageSource source, ArrayList<EntityItem> drops, boolean recentlyHit)` Creates a new event containing all the items that will drop into the world when a player dies.