Class DamageResistanceHandler

java.lang.Object
com.hbm_m.powerarmor.resist.DamageResistanceHandler

public class DamageResistanceHandler extends Object
Damage Resistance Handler for HBM Modernized Ported from original HBM 1.7.10 with full DT+DR system support ОСОБЕННОСТИ: - Силовая броня регистрируется ТОЛЬКО через registerSet() - Защита применяется ТОЛЬКО при полном сете - Система отскакивания стрел (deflectArrows)
  • Field Details

  • Constructor Details

    • DamageResistanceHandler

      public DamageResistanceHandler()
  • Method Details

    • shouldDeflectProjectile

      public static boolean shouldDeflectProjectile(net.minecraft.world.entity.LivingEntity entity, net.minecraft.world.damagesource.DamageSource damage)
      Check if entity should deflect projectiles (arrows, tridents, etc.) Called BEFORE damage is applied
    • calculateDamage

      public static float calculateDamage(net.minecraft.world.entity.LivingEntity entity, net.minecraft.world.damagesource.DamageSource damage, float amount, float pierceDT, float pierceDR)
      Calculate damage with full DT+DR system
      Parameters:
      pierceDT - Armor piercing value that reduces DT (e.g., 3.0 = ignores 3 points of DT)
      pierceDR - Armor piercing percentage that reduces DR effectiveness (0.0-1.0)
    • getDTDR

      public static float[] getDTDR(net.minecraft.world.entity.LivingEntity entity, net.minecraft.world.damagesource.DamageSource damage, float amount, float pierceDT, float pierceDR)
      Get DT (Damage Threshold) and DR (Damage Resistance) for entity
    • typeToCategory

      public static String typeToCategory(net.minecraft.world.damagesource.DamageSource source)
      Convert damage source to category string
    • registerSet

      public static void registerSet(net.minecraft.world.item.Item helmet, net.minecraft.world.item.Item chestplate, net.minecraft.world.item.Item leggings, net.minecraft.world.item.Item boots, DamageResistanceHandler.ResistanceStats stats)
      Register armor set with resistance stats
    • registerItem

      public static void registerItem(net.minecraft.world.item.Item item, DamageResistanceHandler.ResistanceStats stats)
      Register individual armor piece (для курток и одиночной одежды)
    • registerEntity

      public static void registerEntity(Class<? extends net.minecraft.world.entity.Entity> entityClass, DamageResistanceHandler.ResistanceStats stats)
      Register entity resistance
    • initArmorStats

      public static void initArmorStats()
      Initialize armor stats after items are registered Call this from FMLCommonSetupEvent or similar