package me.km.capabilities; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; public class DamageUtils { public static void init() { DamageSource.IN_FIRE.setMagicDamage(); DamageSource.LIGHTNING_BOLT.setMagicDamage(); DamageSource.ON_FIRE.setMagicDamage(); DamageSource.HOT_FLOOR.setMagicDamage(); DamageSource.WITHER.setMagicDamage(); DamageSource.DRAGON_BREATH.setMagicDamage(); // Special DamageSource.LAVA.setDamageBypassesArmor().setDamageIsAbsolute(); DamageSource.IN_WALL.setDamageIsAbsolute(); DamageSource.CRAMMING.setDamageIsAbsolute(); DamageSource.DROWN.setDamageIsAbsolute(); DamageSource.GENERIC.setDamageIsAbsolute(); } public static int getMagicDefense(EntityLivingBase liv) { int level = 0; for(ItemStack stack : liv.getArmorInventoryList()) { if(stack.hasCapability(DefenseProvider.DEFENSE_CAP, null)) { level += stack.getCapability(DefenseProvider.DEFENSE_CAP, null).getMagicDefense(); } } return level; } }