diff --git a/src/main/java/ru/betterend/item/ArmoredElytra.java b/src/main/java/ru/betterend/item/ArmoredElytra.java index b9bedd45..62ceddce 100644 --- a/src/main/java/ru/betterend/item/ArmoredElytra.java +++ b/src/main/java/ru/betterend/item/ArmoredElytra.java @@ -5,25 +5,21 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.item.ElytraItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.*; import ru.betterend.BetterEnd; import ru.betterend.interfaces.MultiModelItem; import ru.betterend.registry.EndItems; -public class ArmoredElytra extends ElytraItem implements MultiModelItem { +public class ArmoredElytra extends ArmorItem implements MultiModelItem { private final ResourceLocation wingTexture; private final Item repairItem; private final double movementFactor; - public ArmoredElytra(String name, Item repairItem, int durability, double movementFactor, boolean fireproof) { - super(fireproof ? EndItems.makeItemSettings().equipmentSlot(stack -> EquipmentSlot.CHEST) - .durability(durability).rarity(Rarity.RARE).fireResistant() : - EndItems.makeItemSettings().equipmentSlot(stack -> EquipmentSlot.CHEST) - .durability(durability).rarity(Rarity.RARE)); + public ArmoredElytra(String name, ArmorMaterial material, Item repairItem, int durability, double movementFactor, boolean fireproof) { + super(material, EquipmentSlot.CHEST, fireproof ? + EndItems.makeItemSettings().durability(durability).rarity(Rarity.RARE).fireResistant() : + EndItems.makeItemSettings().durability(durability).rarity(Rarity.RARE)); this.wingTexture = BetterEnd.makeID("textures/entity/" + name + ".png"); this.repairItem = repairItem; this.movementFactor = movementFactor; @@ -40,7 +36,17 @@ public class ArmoredElytra extends ElytraItem implements MultiModelItem { @Override public boolean isValidRepairItem(ItemStack itemStack, ItemStack itemStack2) { - return itemStack2.getItem() == repairItem; + return super.isValidRepairItem(itemStack, itemStack2) || itemStack2.getItem() == repairItem; + } + + @Override + public int getDefense() { + return (int) ((double) super.getDefense() / 1.25); + } + + @Override + public float getToughness() { + return super.getToughness() / 1.25F; } @Override diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index cb3afdc7..74e8827f 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -94,7 +94,7 @@ public class EndItems { public static final Item CRYSTALITE_CHESTPLATE = registerItem("crystalite_chestplate", new EndArmorItem(EndArmorMaterial.CRYSTALITE, EquipmentSlot.CHEST, makeItemSettings().rarity(Rarity.UNCOMMON))); public static final Item CRYSTALITE_LEGGINGS = registerItem("crystalite_leggings", new EndArmorItem(EndArmorMaterial.CRYSTALITE, EquipmentSlot.LEGS, makeItemSettings().rarity(Rarity.UNCOMMON))); public static final Item CRYSTALITE_BOOTS = registerItem("crystalite_boots", new EndArmorItem(EndArmorMaterial.CRYSTALITE, EquipmentSlot.FEET, makeItemSettings().rarity(Rarity.UNCOMMON))); - public static final Item ARMORED_ELYTRA = registerItem("elytra_armored", new ArmoredElytra("elytra_armored", Items.PHANTOM_MEMBRANE, 700, 0.96D, true)); + public static final Item ARMORED_ELYTRA = registerItem("elytra_armored", new ArmoredElytra("elytra_armored", EndArmorMaterial.AETERNIUM, Items.PHANTOM_MEMBRANE, 900, 0.96D, true)); // Tools // public static final TieredItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel", new EndShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeItemSettings().fireResistant()));