mirror of
https://github.com/Ellpeck/NaturesAura.git
synced 2024-12-22 14:59:22 +01:00
fixed armor not having durability
This commit is contained in:
parent
95838ff567
commit
96cd5963f5
2 changed files with 10 additions and 5 deletions
|
@ -35,7 +35,7 @@ public class ItemArmor extends ArmorItem implements IModItem {
|
||||||
private final String baseName;
|
private final String baseName;
|
||||||
|
|
||||||
public ItemArmor(String baseName, ModArmorMaterial materialIn, ArmorItem.Type equipmentSlotIn) {
|
public ItemArmor(String baseName, ModArmorMaterial materialIn, ArmorItem.Type equipmentSlotIn) {
|
||||||
super(materialIn.material, equipmentSlotIn, new Properties());
|
super(materialIn.material, equipmentSlotIn, new Properties().durability(materialIn.getDurability(equipmentSlotIn)));
|
||||||
this.baseName = baseName;
|
this.baseName = baseName;
|
||||||
ModRegistry.ALL_ITEMS.add(this);
|
ModRegistry.ALL_ITEMS.add(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,13 +18,15 @@ import java.util.function.Supplier;
|
||||||
|
|
||||||
public enum ModArmorMaterial {
|
public enum ModArmorMaterial {
|
||||||
|
|
||||||
INFUSED(NaturesAura.MOD_ID + ":infused_iron", new int[]{2, 5, 6, 2}, 16, SoundEvents.ARMOR_EQUIP_IRON, 0, 0, () -> Ingredient.of(ModItems.INFUSED_IRON)),
|
INFUSED(NaturesAura.MOD_ID + ":infused_iron", 19, new int[]{2, 5, 6, 2}, 16, SoundEvents.ARMOR_EQUIP_IRON, 0, 0, () -> Ingredient.of(ModItems.INFUSED_IRON)),
|
||||||
SKY(NaturesAura.MOD_ID + ":sky", new int[]{3, 6, 8, 3}, 12, SoundEvents.ARMOR_EQUIP_DIAMOND, 2, 0, () -> Ingredient.of(ModItems.SKY_INGOT)),
|
SKY(NaturesAura.MOD_ID + ":sky", 33, new int[]{3, 6, 8, 3}, 12, SoundEvents.ARMOR_EQUIP_DIAMOND, 2, 0, () -> Ingredient.of(ModItems.SKY_INGOT)),
|
||||||
DEPTH(NaturesAura.MOD_ID + ":depth", new int[]{3, 6, 8, 3}, 18, SoundEvents.ARMOR_EQUIP_NETHERITE, 3, 1, () -> Ingredient.of(ModItems.DEPTH_INGOT));
|
DEPTH(NaturesAura.MOD_ID + ":depth", 37, new int[]{3, 6, 8, 3}, 18, SoundEvents.ARMOR_EQUIP_NETHERITE, 3, 1, () -> Ingredient.of(ModItems.DEPTH_INGOT));
|
||||||
|
|
||||||
public final Holder<ArmorMaterial> material;
|
public final Holder<ArmorMaterial> material;
|
||||||
|
private final int maxDamageFactor;
|
||||||
|
|
||||||
ModArmorMaterial(String nameIn, int[] damageReductionAmountsIn, int enchantabilityIn, Holder<SoundEvent> equipSoundIn, float toughness, float knockbackResistance, Supplier<Ingredient> repairMaterialSupplier) {
|
ModArmorMaterial(String nameIn, int maxDamageFactor, int[] damageReductionAmountsIn, int enchantabilityIn, Holder<SoundEvent> equipSoundIn, float toughness, float knockbackResistance, Supplier<Ingredient> repairMaterialSupplier) {
|
||||||
|
this.maxDamageFactor = maxDamageFactor;
|
||||||
var res = ResourceLocation.parse(nameIn);
|
var res = ResourceLocation.parse(nameIn);
|
||||||
var defense = new EnumMap<ArmorItem.Type, Integer>(ArmorItem.Type.class);
|
var defense = new EnumMap<ArmorItem.Type, Integer>(ArmorItem.Type.class);
|
||||||
defense.put(ArmorItem.Type.BOOTS, damageReductionAmountsIn[0]);
|
defense.put(ArmorItem.Type.BOOTS, damageReductionAmountsIn[0]);
|
||||||
|
@ -35,4 +37,7 @@ public enum ModArmorMaterial {
|
||||||
this.material = Registry.registerForHolder(BuiltInRegistries.ARMOR_MATERIAL, res, new ArmorMaterial(defense, enchantabilityIn, equipSoundIn, repairMaterialSupplier, layers, toughness, knockbackResistance));
|
this.material = Registry.registerForHolder(BuiltInRegistries.ARMOR_MATERIAL, res, new ArmorMaterial(defense, enchantabilityIn, equipSoundIn, repairMaterialSupplier, layers, toughness, knockbackResistance));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getDurability(ArmorItem.Type type) {
|
||||||
|
return type.getDurability(this.maxDamageFactor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue