From d791e7e8e40f4ecaf03769a8b4254d0fa147fe92 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 21 Nov 2024 16:45:59 +0100 Subject: [PATCH] damage resistance handler crap --- src/main/java/com/hbm/main/MainRegistry.java | 1 + .../com/hbm/util/DamageResistanceHandler.java | 79 ++++++++++++++++++ .../java/com/hbm/util/EntityDamageUtil.java | 2 +- .../assets/hbm/my_hecking_realism.png | Bin 0 -> 27386 bytes 4 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/hbm/util/DamageResistanceHandler.java create mode 100644 src/main/resources/assets/hbm/my_hecking_realism.png diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 3058b4ea8..f1ec80bfc 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -865,6 +865,7 @@ public class MainRegistry { TileEntityNukeCustom.registerBombItems(); ArmorUtil.register(); HazmatRegistry.registerHazmats(); + DamageResistanceHandler.init(); FluidContainerRegistry.register(); BlockToolConversion.registerRecipes(); AchievementHandler.register(); diff --git a/src/main/java/com/hbm/util/DamageResistanceHandler.java b/src/main/java/com/hbm/util/DamageResistanceHandler.java new file mode 100644 index 000000000..cc16fd0f0 --- /dev/null +++ b/src/main/java/com/hbm/util/DamageResistanceHandler.java @@ -0,0 +1,79 @@ +package com.hbm.util; + +import java.util.HashMap; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; + +public class DamageResistanceHandler { + + public static HashMap itemStats = new HashMap(); + public static HashMap, ResistanceStats> entityStats = new HashMap(); + + public static void init() { + + } + + public static float calculateDamage(EntityLivingBase entity, DamageSource damage, float amount, float pierceDT, float pierce) { + if(damage.isDamageAbsolute() || damage.isUnblockable()) return amount; + + String key = damage.damageType; + float dt = 0; + float dr = 0; + + //TODO add category resistance stats + + for(int i = 1; i <= 4; i++) { + ItemStack armor = entity.getEquipmentInSlot(i); + if(armor == null) continue; + ResistanceStats stats = itemStats.get(armor.getItem()); + if(stats == null) continue; + Resistance res = stats.resistances.get(key); + if(res == null) continue; + dt += res.threshold; + dr += res.resistance; + } + + ResistanceStats inateResistance = entityStats.get(entity.getClass()); + if(inateResistance != null) { + Resistance res = inateResistance.resistances.get(key); + if(res != null) { + dt += res.threshold; + dr += res.resistance; + } + } + + dt = Math.max(0F, dt - pierceDT); + if(dt <= amount) return 0F; + + amount -= dt; + dr *= MathHelper.clamp_float(1F - pierce, 0F, 1F); + + return amount *= (1F - dr); + } + + public static class ResistanceStats { + + public HashMap resistances = new HashMap(); + + public ResistanceStats add(String type, float threshold, float resistance) { + resistances.put(type, new Resistance(threshold, resistance)); + return this; + } + } + + public static class Resistance { + + public float threshold; + public float resistance; + + public Resistance(float threshold, float resistance) { + this.threshold = threshold; + this.resistance = resistance; + } + } +} diff --git a/src/main/java/com/hbm/util/EntityDamageUtil.java b/src/main/java/com/hbm/util/EntityDamageUtil.java index 8c7e5161a..4e8a1b58d 100644 --- a/src/main/java/com/hbm/util/EntityDamageUtil.java +++ b/src/main/java/com/hbm/util/EntityDamageUtil.java @@ -21,7 +21,7 @@ import net.minecraftforge.common.ForgeHooks; public class EntityDamageUtil { /** - * Attacks the given entity twice, based on a piecring percentage. The second hit sets the damage source to bypass armor. + * Attacks the given entity twice, based on a piercing percentage. The second hit sets the damage source to bypass armor. * The damage source is modified, so you can't reuse damage source instances. */ @Deprecated public static boolean attackEntityFromArmorPiercing(Entity victim, DamageSource src, float damage, float piercing) { diff --git a/src/main/resources/assets/hbm/my_hecking_realism.png b/src/main/resources/assets/hbm/my_hecking_realism.png new file mode 100644 index 0000000000000000000000000000000000000000..dab8b86bc6db1ff49b814495926f3c4725d76804 GIT binary patch literal 27386 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 literal 0 HcmV?d00001