DamageUtils.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package me.km;
  2. import net.minecraft.entity.LivingEntity;
  3. import net.minecraft.item.ItemStack;
  4. import net.minecraft.nbt.CompoundNBT;
  5. import net.minecraft.util.DamageSource;
  6. public class DamageUtils
  7. {
  8. public static void init()
  9. {
  10. DamageSource.IN_FIRE.setMagicDamage();
  11. DamageSource.LIGHTNING_BOLT.setMagicDamage();
  12. DamageSource.ON_FIRE.setMagicDamage();
  13. DamageSource.HOT_FLOOR.setMagicDamage();
  14. DamageSource.WITHER.setMagicDamage();
  15. DamageSource.DRAGON_BREATH.setMagicDamage();
  16. // Special
  17. DamageSource.LAVA.setDamageBypassesArmor().setDamageIsAbsolute();
  18. DamageSource.IN_WALL.setDamageIsAbsolute();
  19. DamageSource.CRAMMING.setDamageIsAbsolute();
  20. DamageSource.DROWN.setDamageIsAbsolute();
  21. DamageSource.GENERIC.setDamageIsAbsolute();
  22. }
  23. public static int getMagicDefense(LivingEntity liv)
  24. {
  25. int level = 0;
  26. for(ItemStack stack : liv.getArmorInventoryList())
  27. {
  28. CompoundNBT com = stack.getTag();
  29. if(com != null && com.contains("magic"))
  30. {
  31. level += com.getInt("magic");
  32. }
  33. }
  34. return level;
  35. }
  36. }