package me.km; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; 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()) { NBTTagCompound com = stack.getTagCompound(); if(com != null && com.hasKey("magic")) { level += com.getInteger("magic"); } } return level; } }