package me.km; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; 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(LivingEntity liv) { int level = 0; for(ItemStack stack : liv.getArmorInventoryList()) { CompoundNBT com = stack.getTag(); if(com != null && com.contains("magic")) { level += com.getInt("magic"); } } return level; } }