From 69c4efd6b23340622e8e970fe76e2ab117444b1c Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Thu, 26 Sep 2024 10:37:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E8=A3=85=E5=A4=87?= =?UTF-8?q?=E7=9A=84=E5=8A=A8=E6=80=81=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/item/armor/RuChest6b43.java | 13 +++++++------ .../superbwarfare/item/armor/RuHelmet6b47.java | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) 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; }