diff --git a/src/main/java/net/mcreator/superbwarfare/item/armor/RuChest6b43.java b/src/main/java/net/mcreator/superbwarfare/item/armor/RuChest6b43.java index 294374516..62b391bbb 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/armor/RuChest6b43.java +++ b/src/main/java/net/mcreator/superbwarfare/item/armor/RuChest6b43.java @@ -25,6 +25,7 @@ import java.util.function.Consumer; public class RuChest6b43 extends ArmorItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + public RuChest6b43() { super(ModArmorMaterial.CEMENTED_CARBIDE, Type.CHESTPLATE, new Properties()); } @@ -45,13 +46,13 @@ public class RuChest6b43 extends ArmorItem implements GeoItem { } @Override - public Multimap getDefaultAttributeModifiers(EquipmentSlot equipmentSlot) { - Multimap map = super.getDefaultAttributeModifiers(equipmentSlot); - UUID uuid = new UUID(equipmentSlot.toString().hashCode(), 0); - if (equipmentSlot == EquipmentSlot.CHEST) { + public Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { + Multimap map = super.getDefaultAttributeModifiers(slot); + UUID uuid = new UUID(slot.toString().hashCode(), 0); + if (slot == EquipmentSlot.CHEST) { map = HashMultimap.create(map); - map.put(ModAttributes.BULLET_RESISTANCE.get(), new AttributeModifier(uuid, ModUtils.ATTRIBUTE_MODIFIER, 0.5f, AttributeModifier.Operation.ADDITION)); - + map.put(ModAttributes.BULLET_RESISTANCE.get(), new AttributeModifier(uuid, ModUtils.ATTRIBUTE_MODIFIER, + 0.5 * Math.max(0, 1 - (double) stack.getDamageValue() / stack.getMaxDamage()), AttributeModifier.Operation.ADDITION)); } return map; } diff --git a/src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java b/src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java index e2970e395..e5f95a834 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java +++ b/src/main/java/net/mcreator/superbwarfare/item/armor/RuHelmet6b47.java @@ -25,6 +25,7 @@ import java.util.function.Consumer; public class RuHelmet6b47 extends ArmorItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + public RuHelmet6b47() { super(ModArmorMaterial.CEMENTED_CARBIDE, Type.HELMET, new Properties()); } @@ -45,13 +46,13 @@ public class RuHelmet6b47 extends ArmorItem implements GeoItem { } @Override - public Multimap getDefaultAttributeModifiers(EquipmentSlot equipmentSlot) { - Multimap map = super.getDefaultAttributeModifiers(equipmentSlot); - UUID uuid = new UUID(equipmentSlot.toString().hashCode(), 0); - if (equipmentSlot == EquipmentSlot.HEAD) { + public Multimap getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { + Multimap map = super.getDefaultAttributeModifiers(slot); + UUID uuid = new UUID(slot.toString().hashCode(), 0); + if (slot == EquipmentSlot.HEAD) { map = HashMultimap.create(map); - map.put(ModAttributes.BULLET_RESISTANCE.get(), new AttributeModifier(uuid, ModUtils.ATTRIBUTE_MODIFIER, 0.2f, AttributeModifier.Operation.ADDITION)); - + map.put(ModAttributes.BULLET_RESISTANCE.get(), new AttributeModifier(uuid, ModUtils.ATTRIBUTE_MODIFIER, + 0.2 * Math.max(0, 1 - (double) stack.getDamageValue() / stack.getMaxDamage()), AttributeModifier.Operation.ADDITION)); } return map; }