From a02e41e9584da310a301bca8fa4208245f7747a6 Mon Sep 17 00:00:00 2001 From: KeyLime17 Date: Mon, 19 May 2025 20:28:27 -0400 Subject: [PATCH] > Gilded Galvorn can now be repaired and reforged > Ash Forged bows were meant to use Ingots to repair, not string, this was fixed > Fixed a ton of Sturdy Modifier issues > Refactored most custom armor to utilize LoEArmor class instead of LOTRItemArmor > Sturdy should appear on any armor or weapon sold by smiths --- .../cinder_loe/CinderEventHandler.java | 39 +++---- .../com/zivilon/cinder_loe/CinderLoE.java | 104 +++++++++--------- .../zivilon/cinder_loe/items/CinderBow.java | 12 +- .../cinder_loe/items/LoEBattleAxe.java | 32 ++++++ .../zivilon/cinder_loe/items/LoEDagger.java | 31 ++++++ .../com/zivilon/cinder_loe/items/LoEPike.java | 32 ++++++ .../mixins/MixinLOTRContainerAnvil.java | 11 +- .../assets/cinder_loe/lang/en_US.lang | 6 +- 8 files changed, 188 insertions(+), 79 deletions(-) create mode 100644 src/main/java/com/zivilon/cinder_loe/items/LoEBattleAxe.java create mode 100644 src/main/java/com/zivilon/cinder_loe/items/LoEDagger.java create mode 100644 src/main/java/com/zivilon/cinder_loe/items/LoEPike.java diff --git a/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java b/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java index 8574c00..f7ad05e 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java @@ -96,13 +96,6 @@ public class CinderEventHandler implements IFuelHandler { } } - private void cancelAttackEvent(LivingAttackEvent event) { - event.setCanceled(true); - DamageSource source = event.source; - if (source instanceof EntityDamageSourceIndirect) { - Entity entity = source.getSourceOfDamage(); - } - } @SubscribeEvent public void onLivingAttack(LivingAttackEvent event) { @@ -111,23 +104,23 @@ public class CinderEventHandler implements IFuelHandler { World world = entity.worldObj; if (event.entityLiving.worldObj.isRemote) return; - if (!(event.source instanceof EntityDamageSourceIndirect)) return; - Entity projectile = event.source.getSourceOfDamage(); - if (!(projectile instanceof EntityArrow - || projectile instanceof LOTREntityCrossbowBolt - || projectile instanceof LOTREntityDart)) { - boolean wearingAllGalvorn = true; - for (int slot = 1; slot <= 4; slot++) { - ItemStack armour = entity.getEquipmentInSlot(slot); - if (armour != null && armour.getItem() instanceof ItemArmor && ((ItemArmor)armour.getItem()).getArmorMaterial() == MATERIAL_GILDEDGALVORN) continue; - wearingAllGalvorn = false; - } - if (wearingAllGalvorn) { + if (event.source instanceof EntityDamageSourceIndirect) { + Entity projectile = event.source.getSourceOfDamage(); + if (projectile instanceof EntityArrow || projectile instanceof LOTREntityCrossbowBolt || projectile instanceof LOTREntityDart) { + boolean wearingAllGalvorn = true; + for (int i = 0; i < 4; ++i) { + ItemStack armour = entity.getEquipmentInSlot(i + 1); + if (armour != null && armour.getItem() instanceof ItemArmor && ((ItemArmor)armour.getItem()).getArmorMaterial() == CinderLoE.MATERIAL_GILDEDGALVORN.toArmorMaterial()) continue; + wearingAllGalvorn = false; + break; + } + if (wearingAllGalvorn) { if (!world.isRemote && entity instanceof EntityPlayer) { ((EntityPlayer)entity).inventory.damageArmor(event.ammount); } this.cancelAttackEvent(event); } + } } if (!(attacker instanceof EntityPlayerMP player)) return; @@ -154,6 +147,14 @@ public class CinderEventHandler implements IFuelHandler { } } } + + private void cancelAttackEvent(LivingAttackEvent event) { + event.setCanceled(true); + DamageSource source = event.source; + if (source instanceof EntityDamageSourceIndirect) { + Entity entity = source.getSourceOfDamage(); + } + } @SubscribeEvent public void onLivingHurt(LivingHurtEvent event) { diff --git a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java index 225a725..abbb0f7 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java @@ -767,7 +767,7 @@ public class CinderLoE { daggerAsh = (new LOTRItemDagger(MATERIAL_ASH)).addWeaponDamage(6.75F).setUnlocalizedName("lotr:daggerAsh").setTextureName("lotr:daggerAsh"); hammerAsh = (new LOTRItemHammer(MATERIAL_ASH)).addWeaponDamage(5.5F).setUnlocalizedName("lotr:hammerAsh").setTextureName("lotr:hammerAsh"); battleaxeAsh = (new LOTRItemBattleaxe(MATERIAL_ASH)).addWeaponDamage(5.5F).setUnlocalizedName("lotr:battleaxeAsh").setTextureName("lotr:battleaxeAsh"); - bowAsh = (new CinderBow(MATERIAL_ASH, 1.5)).setDrawTime(16).setUnlocalizedName("lotr:bowAsh").setTextureName("lotr:bowAsh"); + bowAsh = (new CinderBow(MATERIAL_ASH, 1.5, CinderLoE.ingotAsh)).setDrawTime(16).setUnlocalizedName("lotr:bowAsh").setTextureName("lotr:bowAsh"); pikeAsh = (new LOTRItemPike(MATERIAL_ASH)).addWeaponDamage(5.0F).setUnlocalizedName("lotr:pikeAsh").setTextureName("lotr:pikeAsh"); spearAsh = (new LOTRItemSpear(MATERIAL_ASH)).addWeaponDamage(5.0F).setUnlocalizedName("lotr:spearAsh").setTextureName("lotr:spearAsh"); @@ -799,17 +799,17 @@ public class CinderLoE { MATERIAL_RED_DWARF = getLOTRMaterialByName("RED_DWARF"); if (MATERIAL_RED_DWARF != null) { - helmetRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 0, "helmet")).setUnlocalizedName("lotr:helmetRedDwarf").setTextureName("lotr:helmetRedDwarf"); - bodyRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 1)).setUnlocalizedName("lotr:bodyRedDwarf").setTextureName("lotr:bodyRedDwarf"); - legsRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 2)).setUnlocalizedName("lotr:legsRedDwarf").setTextureName("lotr:legsRedDwarf"); - bootsRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 3)).setUnlocalizedName("lotr:bootsRedDwarf").setTextureName("lotr:bootsRedDwarf"); - spearRedDwarf = (new LOTRItemSpear(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:spearRedDwarf").setTextureName("lotr:spearRedDwarf"); - swordRedDwarf = (new LOTRItemSword(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:swordRedDwarf").setTextureName("lotr:swordRedDwarf"); - battleaxeRedDwarf = (new LOTRItemBattleaxe(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:battleaxeRedDwarf").setTextureName("lotr:battleaxeRedDwarf"); - pikeRedDwarf = (new LOTRItemPike(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:pikeRedDwarf").setTextureName("lotr:pikeRedDwarf"); - hammerRedDwarf = (new LOTRItemHammer(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:hammerRedDwarf").setTextureName("lotr:hammerRedDwarf"); - daggerRedDwarf = (new LOTRItemDagger(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:daggerRedDwarf").setTextureName("lotr:daggerRedDwarf"); - daggerRedDwarfPoisoned = (new LOTRItemDagger(MATERIAL_RED_DWARF, LOTRItemDagger.DaggerEffect.POISON)).setUnlocalizedName("lotr:daggerRedDwarfPoisoned").setTextureName("lotr:daggerRedDwarfPoisoned"); + helmetRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 0, "helmet", CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:helmetRedDwarf").setTextureName("lotr:helmetRedDwarf"); + bodyRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 1, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:bodyRedDwarf").setTextureName("lotr:bodyRedDwarf"); + legsRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 2, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:legsRedDwarf").setTextureName("lotr:legsRedDwarf"); + bootsRedDwarf = (new LoEArmor(MATERIAL_RED_DWARF, 3, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:bootsRedDwarf").setTextureName("lotr:bootsRedDwarf"); + spearRedDwarf = (new LoESpear(MATERIAL_RED_DWARF, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:spearRedDwarf").setTextureName("lotr:spearRedDwarf"); + swordRedDwarf = (new LoESword(MATERIAL_RED_DWARF, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:swordRedDwarf").setTextureName("lotr:swordRedDwarf"); + battleaxeRedDwarf = (new LoEBattleAxe(MATERIAL_RED_DWARF, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:battleaxeRedDwarf").setTextureName("lotr:battleaxeRedDwarf"); + pikeRedDwarf = (new LoEPike(MATERIAL_RED_DWARF, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:pikeRedDwarf").setTextureName("lotr:pikeRedDwarf"); + hammerRedDwarf = (new LoEHammer(MATERIAL_RED_DWARF, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:hammerRedDwarf").setTextureName("lotr:hammerRedDwarf"); + daggerRedDwarf = (new LoEDagger(MATERIAL_RED_DWARF, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:daggerRedDwarf").setTextureName("lotr:daggerRedDwarf"); + daggerRedDwarfPoisoned = (new LoEDagger(MATERIAL_RED_DWARF, LOTRItemDagger.DaggerEffect.POISON, CinderLoE.redDwarfSteel)).setUnlocalizedName("lotr:daggerRedDwarfPoisoned").setTextureName("lotr:daggerRedDwarfPoisoned"); crossbowRedDwarf = (new LOTRItemCrossbow(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:crossbowRedDwarf").setTextureName("lotr:crossbowRedDwarf"); boarArmorRedDwarf = (new LOTRItemMountArmor(MATERIAL_RED_DWARF, LOTRItemMountArmor.Mount.BOAR)).setUnlocalizedName("lotr:boarArmorRedDwarf").setTextureName("lotr:boarArmorRedDwarf"); @@ -848,22 +848,22 @@ public class CinderLoE { MATERIAL_LIMWAITH_WOOD = getLOTRMaterialByName("LIMWAITH_WOOD"); MATERIAL_BONEMOLD = getLOTRMaterialByName("BONEMOLD"); if (MATERIAL_LIMWAITH_WOOD != null && MATERIAL_BONEMOLD != null) { - helmetLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 0)).setUnlocalizedName("lotr:helmetLimwaith").setTextureName("lotr:helmetLimwaith"); - bodyLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 1)).setUnlocalizedName("lotr:bodyLimwaith").setTextureName("lotr:bodyLimwaith"); - legsLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 2)).setUnlocalizedName("lotr:legsLimwaith").setTextureName("lotr:legsLimwaith"); - bootsLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 3)).setUnlocalizedName("lotr:bootsLimwaith").setTextureName("lotr:bootsLimwaith"); - - helmetboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 0)).setUnlocalizedName("lotr:helmetboneLimwaith").setTextureName("lotr:helmetboneLimwaith"); - bodyboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 1)).setUnlocalizedName("lotr:bodyboneLimwaith").setTextureName("lotr:bodyboneLimwaith"); - legsboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 2)).setUnlocalizedName("lotr:legsboneLimwaith").setTextureName("lotr:legsboneLimwaith"); - bootsboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 3)).setUnlocalizedName("lotr:bootsboneLimwaith").setTextureName("lotr:bootsboneLimwaith"); - - spearLimwaith = (new LOTRItemSpear(MATERIAL_BONEMOLD)).setUnlocalizedName("lotr:spearLimwaith").setTextureName("lotr:spearLimwaith"); - truncheonLimwaith = (new LOTRItemSword(MATERIAL_BONEMOLD)).setUnlocalizedName("lotr:truncheonLimwaith").setTextureName("lotr:truncheonLimwaith"); - battleaxeLimwaith = (new LOTRItemBattleaxe(MATERIAL_BONEMOLD)).setUnlocalizedName("lotr:battleaxeLimwaith").setTextureName("lotr:battleaxeLimwaith"); + helmetLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 0, LOTRMod.reeds)).setUnlocalizedName("lotr:helmetLimwaith").setTextureName("lotr:helmetLimwaith"); + bodyLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 1, LOTRMod.reeds)).setUnlocalizedName("lotr:bodyLimwaith").setTextureName("lotr:bodyLimwaith"); + legsLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 2, LOTRMod.reeds)).setUnlocalizedName("lotr:legsLimwaith").setTextureName("lotr:legsLimwaith"); + bootsLimwaith = (new LoEArmor(MATERIAL_LIMWAITH_WOOD, 3, LOTRMod.reeds)).setUnlocalizedName("lotr:bootsLimwaith").setTextureName("lotr:bootsLimwaith"); + + helmetboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 0, CinderLoE.bonemold)).setUnlocalizedName("lotr:helmetboneLimwaith").setTextureName("lotr:helmetboneLimwaith"); + bodyboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 1, CinderLoE.bonemold)).setUnlocalizedName("lotr:bodyboneLimwaith").setTextureName("lotr:bodyboneLimwaith"); + legsboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 2, CinderLoE.bonemold)).setUnlocalizedName("lotr:legsboneLimwaith").setTextureName("lotr:legsboneLimwaith"); + bootsboneLimwaith = (new LoEArmor(MATERIAL_BONEMOLD, 3, CinderLoE.bonemold)).setUnlocalizedName("lotr:bootsboneLimwaith").setTextureName("lotr:bootsboneLimwaith"); + + spearLimwaith = (new LoESpear(MATERIAL_BONEMOLD, CinderLoE.bonemold)).setUnlocalizedName("lotr:spearLimwaith").setTextureName("lotr:spearLimwaith"); + truncheonLimwaith = (new LoESword(MATERIAL_BONEMOLD, CinderLoE.bonemold)).setUnlocalizedName("lotr:truncheonLimwaith").setTextureName("lotr:truncheonLimwaith"); + battleaxeLimwaith = (new LoEBattleAxe(MATERIAL_BONEMOLD, CinderLoE.bonemold)).setUnlocalizedName("lotr:battleaxeLimwaith").setTextureName("lotr:battleaxeLimwaith"); tridentLimwaith = (new LOTRItemTrident(MATERIAL_BONEMOLD)).setUnlocalizedName("lotr:tridentLimwaith").setTextureName("lotr:tridentLimwaith"); - daggerLimwaith = (new LOTRItemDagger(MATERIAL_BONEMOLD)).setUnlocalizedName("lotr:daggerLimwaith").setTextureName("lotr:daggerLimwaith"); - daggerLimwaithPoisoned = (new LOTRItemDagger(MATERIAL_BONEMOLD, LOTRItemDagger.DaggerEffect.POISON)).setUnlocalizedName("lotr:daggerLimwaithPoisoned").setTextureName("lotr:daggerLimwaithPoisoned"); + daggerLimwaith = (new LoEDagger(MATERIAL_BONEMOLD, CinderLoE.bonemold)).setUnlocalizedName("lotr:daggerLimwaith").setTextureName("lotr:daggerLimwaith"); + daggerLimwaithPoisoned = (new LoEDagger(MATERIAL_BONEMOLD, LOTRItemDagger.DaggerEffect.POISON, CinderLoE.bonemold)).setUnlocalizedName("lotr:daggerLimwaithPoisoned").setTextureName("lotr:daggerLimwaithPoisoned"); blowgunLimwaith = (new LOTRItemBlowgun(LOTRMaterial.TAUREDAIN)).setUnlocalizedName("lotr:blowgunLimwaith").setTextureName("lotr:blowgunLimwaith"); ItemRegistration.register(helmetLimwaith, "helmetLimwaith", 6420); @@ -902,7 +902,7 @@ public class CinderLoE { bodyBree = (new LoEArmor(MATERIAL_BREE, 1)).setUnlocalizedName("lotr:bodyBree").setTextureName("lotr:bodyBree"); legsBree = (new LoEArmor(MATERIAL_BREE, 2)).setUnlocalizedName("lotr:legsBree").setTextureName("lotr:legsBree"); bootsBree = (new LoEArmor(MATERIAL_BREE, 3)).setUnlocalizedName("lotr:bootsBree").setTextureName("lotr:bootsBree"); - swordBree = (new LOTRItemSword(MATERIAL_BREE)).setUnlocalizedName("lotr:swordBree").setTextureName("lotr:swordBree"); + swordBree = (new LoESword(MATERIAL_BREE, Items.iron_ingot)).setUnlocalizedName("lotr:swordBree").setTextureName("lotr:swordBree"); ItemRegistration.register(helmetBreeKettle, "breekettle", 6440); ItemRegistration.register(helmetBree, "helmetBree", 6441); @@ -919,10 +919,10 @@ public class CinderLoE { MATERIAL_SERPENT = getLOTRMaterialByName("SERPENT"); if (MATERIAL_SERPENT != null) { - helmetserpent = (new LoEArmor(MATERIAL_SERPENT, 0)).setUnlocalizedName("lotr:helmetserpent").setTextureName("lotr:helmetserpent").setCreativeTab(null); - bodyserpent = (new LoEArmor(MATERIAL_SERPENT, 1, "chestplate")).setUnlocalizedName("lotr:bodyserpent").setTextureName("lotr:bodyserpent").setCreativeTab(null); - legsserpent = (new LoEArmor(MATERIAL_SERPENT, 2)).setUnlocalizedName("lotr:legsserpent").setTextureName("lotr:legsserpent").setCreativeTab(null); - bootsserpent = (new LoEArmor(MATERIAL_SERPENT, 3)).setUnlocalizedName("lotr:bootsserpent").setTextureName("lotr:bootsserpent").setCreativeTab(null); + helmetserpent = (new LoEArmor(MATERIAL_SERPENT, 0, LOTRMod.bronze)).setUnlocalizedName("lotr:helmetserpent").setTextureName("lotr:helmetserpent").setCreativeTab(null); + bodyserpent = (new LoEArmor(MATERIAL_SERPENT, 1, "chestplate", LOTRMod.bronze)).setUnlocalizedName("lotr:bodyserpent").setTextureName("lotr:bodyserpent").setCreativeTab(null); + legsserpent = (new LoEArmor(MATERIAL_SERPENT, 2, LOTRMod.bronze)).setUnlocalizedName("lotr:legsserpent").setTextureName("lotr:legsserpent").setCreativeTab(null); + bootsserpent = (new LoEArmor(MATERIAL_SERPENT, 3, LOTRMod.bronze)).setUnlocalizedName("lotr:bootsserpent").setTextureName("lotr:bootsserpent").setCreativeTab(null); ItemRegistration.register(helmetserpent, "helmetserpent", 6800); ItemRegistration.register(bodyserpent, "bodyserpent", 6801); @@ -933,10 +933,10 @@ public class CinderLoE { } MATERIAL_USURPER = getLOTRMaterialByName("USURPER"); if (MATERIAL_USURPER != null) { - helmetUsurper = (new LoEArmor(MATERIAL_USURPER, 0, "helmet")).setUnlocalizedName("lotr:helmetUsurper").setTextureName("lotr:helmetUsurper").setCreativeTab(null); - bodyUsurper = (new LoEArmor(MATERIAL_USURPER, 1)).setUnlocalizedName("lotr:bodyUsurper").setTextureName("lotr:bodyUsurper").setCreativeTab(null); - legsUsurper = (new LoEArmor(MATERIAL_USURPER, 2)).setUnlocalizedName("lotr:legsUsurper").setTextureName("lotr:legsUsurper").setCreativeTab(null); - bootsUsurper = (new LoEArmor(MATERIAL_USURPER, 3)).setUnlocalizedName("lotr:bootsUsurper").setTextureName("lotr:bootsUsurper").setCreativeTab(null); + helmetUsurper = (new LoEArmor(MATERIAL_USURPER, 0, "helmet", Items.iron_ingot)).setUnlocalizedName("lotr:helmetUsurper").setTextureName("lotr:helmetUsurper").setCreativeTab(null); + bodyUsurper = (new LoEArmor(MATERIAL_USURPER, 1, Items.iron_ingot)).setUnlocalizedName("lotr:bodyUsurper").setTextureName("lotr:bodyUsurper").setCreativeTab(null); + legsUsurper = (new LoEArmor(MATERIAL_USURPER, 2, Items.iron_ingot)).setUnlocalizedName("lotr:legsUsurper").setTextureName("lotr:legsUsurper").setCreativeTab(null); + bootsUsurper = (new LoEArmor(MATERIAL_USURPER, 3, Items.iron_ingot)).setUnlocalizedName("lotr:bootsUsurper").setTextureName("lotr:bootsUsurper").setCreativeTab(null); ItemRegistration.register(helmetUsurper, "helmetUsurper", 6804); @@ -949,10 +949,10 @@ public class CinderLoE { } MATERIAL_WARLORD = getLOTRMaterialByName("WARLORD"); if (MATERIAL_WARLORD != null) { - helmetWarlord = (new LoEArmor(MATERIAL_WARLORD, 0, "helmet")).setUnlocalizedName("lotr:helmetWarlord").setTextureName("lotr:helmetWarlord").setCreativeTab(null); - bodyWarlord = (new LoEArmor(MATERIAL_WARLORD, 1)).setUnlocalizedName("lotr:bodyWarlord").setTextureName("lotr:bodyWarlord").setCreativeTab(null); - legsWarlord = (new LoEArmor(MATERIAL_WARLORD, 2)).setUnlocalizedName("lotr:legsWarlord").setTextureName("lotr:legsWarlord").setCreativeTab(null); - bootsWarlord = (new LoEArmor(MATERIAL_WARLORD, 3)).setUnlocalizedName("lotr:bootsWarlord").setTextureName("lotr:bootsWarlord").setCreativeTab(null); + helmetWarlord = (new LoEArmor(MATERIAL_WARLORD, 0, "helmet", LOTRMod.bronze)).setUnlocalizedName("lotr:helmetWarlord").setTextureName("lotr:helmetWarlord").setCreativeTab(null); + bodyWarlord = (new LoEArmor(MATERIAL_WARLORD, 1, LOTRMod.bronze)).setUnlocalizedName("lotr:bodyWarlord").setTextureName("lotr:bodyWarlord").setCreativeTab(null); + legsWarlord = (new LoEArmor(MATERIAL_WARLORD, 2, LOTRMod.bronze)).setUnlocalizedName("lotr:legsWarlord").setTextureName("lotr:legsWarlord").setCreativeTab(null); + bootsWarlord = (new LoEArmor(MATERIAL_WARLORD, 3, LOTRMod.bronze)).setUnlocalizedName("lotr:bootsWarlord").setTextureName("lotr:bootsWarlord").setCreativeTab(null); maceWarlord = (new LOTRItemHammer(MATERIAL_WARLORD)).setUnlocalizedName("lotr:maceWarlord").setTextureName("lotr:maceWarlord"); ItemRegistration.register(helmetWarlord, "helmetWarlord", 6808); @@ -967,10 +967,10 @@ public class CinderLoE { MATERIAL_GILDEDGALVORN = getLOTRMaterialByName("GILDEDGALVORN"); if (MATERIAL_GILDEDGALVORN != null) { - helmetGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 0, "helmet")).setUnlocalizedName("lotr:helmetGildedGalvorn").setTextureName("lotr:helmetGildedGalvorn").setCreativeTab(null); - bodyGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 1)).setUnlocalizedName("lotr:bodyGildedGalvorn").setTextureName("lotr:bodyGildedGalvorn").setCreativeTab(null); - legsGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 2)).setUnlocalizedName("lotr:legsGildedGalvorn").setTextureName("lotr:legsGildedGalvorn").setCreativeTab(null); - bootsGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 3)).setUnlocalizedName("lotr:bootsGildedGalvorn").setTextureName("lotr:bootsGildedGalvorn").setCreativeTab(null); + helmetGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 0, "helmet", LOTRMod.galvorn)).setUnlocalizedName("lotr:helmetGildedGalvorn").setTextureName("lotr:helmetGildedGalvorn").setCreativeTab(null); + bodyGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 1, LOTRMod.galvorn)).setUnlocalizedName("lotr:bodyGildedGalvorn").setTextureName("lotr:bodyGildedGalvorn").setCreativeTab(null); + legsGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 2, LOTRMod.galvorn)).setUnlocalizedName("lotr:legsGildedGalvorn").setTextureName("lotr:legsGildedGalvorn").setCreativeTab(null); + bootsGildedGalvorn = (new LoEArmor(MATERIAL_GILDEDGALVORN, 3, LOTRMod.galvorn)).setUnlocalizedName("lotr:bootsGildedGalvorn").setTextureName("lotr:bootsGildedGalvorn").setCreativeTab(null); ItemRegistration.register(helmetGildedGalvorn, "helmetGildedGalvorn", 6813); ItemRegistration.register(bodyGildedGalvorn, "bodyGildedGalvorn", 6814); @@ -984,10 +984,10 @@ public class CinderLoE { //Rhudaur MATERIAL_RHUDAUR = getLOTRMaterialByName("RHUDAUR"); if (MATERIAL_RHUDAUR != null) { - helmetRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 0, "helmet")).setUnlocalizedName("lotr:helmetRhudaur").setTextureName("lotr:helmetRhudaur"); - bodyRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 1)).setUnlocalizedName("lotr:bodyRhudaur").setTextureName("lotr:bodyRhudaur"); - legsRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 2)).setUnlocalizedName("lotr:legsRhudaur").setTextureName("lotr:legsRhudaur"); - bootsRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 3)).setUnlocalizedName("lotr:bootsRhudaur").setTextureName("lotr:bootsRhudaur"); + helmetRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 0, "helmet", Items.iron_ingot)).setUnlocalizedName("lotr:helmetRhudaur").setTextureName("lotr:helmetRhudaur"); + bodyRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 1, Items.iron_ingot)).setUnlocalizedName("lotr:bodyRhudaur").setTextureName("lotr:bodyRhudaur"); + legsRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 2, Items.iron_ingot)).setUnlocalizedName("lotr:legsRhudaur").setTextureName("lotr:legsRhudaur"); + bootsRhudaur = (new LoEArmor(MATERIAL_RHUDAUR, 3, Items.iron_ingot)).setUnlocalizedName("lotr:bootsRhudaur").setTextureName("lotr:bootsRhudaur"); ItemRegistration.register(helmetRhudaur, "helmetRhudaur",6450); ItemRegistration.register(bodyRhudaur, "bodyRhudaur", 6451); @@ -999,10 +999,10 @@ public class CinderLoE { //Arnor MATERIAL_BATTLENUN = getLOTRMaterialByName("BATTLENUN"); if (MATERIAL_BATTLENUN != null) { - helmetArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 0)).setUnlocalizedName("lotr:helmetArnorBanner").setTextureName("lotr:helmetArnorBanner"); - bodyArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 1)).setUnlocalizedName("lotr:bodyArnorBanner").setTextureName("lotr:bodyArnorBanner"); - legsArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 2)).setUnlocalizedName("lotr:legsArnorBanner").setTextureName("lotr:legsArnorBanner"); - bootsArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 3)).setUnlocalizedName("lotr:bootsArnorBanner").setTextureName("lotr:bootsArnorBanner"); + helmetArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 0, Items.iron_ingot)).setUnlocalizedName("lotr:helmetArnorBanner").setTextureName("lotr:helmetArnorBanner"); + bodyArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 1, Items.iron_ingot)).setUnlocalizedName("lotr:bodyArnorBanner").setTextureName("lotr:bodyArnorBanner"); + legsArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 2, Items.iron_ingot)).setUnlocalizedName("lotr:legsArnorBanner").setTextureName("lotr:legsArnorBanner"); + bootsArnorBanner = (new LoEArmor(MATERIAL_BATTLENUN, 3, Items.iron_ingot)).setUnlocalizedName("lotr:bootsArnorBanner").setTextureName("lotr:bootsArnorBanner"); maceArnor = (new LOTRItemHammer(LOTRMaterial.ARNOR)).setUnlocalizedName("lotr:maceArnor").setTextureName("lotr:maceArnor"); ItemRegistration.register(helmetArnorBanner, "helmetArnorBanner", 6460); diff --git a/src/main/java/com/zivilon/cinder_loe/items/CinderBow.java b/src/main/java/com/zivilon/cinder_loe/items/CinderBow.java index b3cf127..00770c2 100644 --- a/src/main/java/com/zivilon/cinder_loe/items/CinderBow.java +++ b/src/main/java/com/zivilon/cinder_loe/items/CinderBow.java @@ -25,16 +25,20 @@ import org.spongepowered.asm.mixin.Overwrite; import java.util.List; public class CinderBow extends LOTRItemBow { + public Item repair_item; - - public CinderBow(LOTRMaterial material, double d) { + public CinderBow(LOTRMaterial material, double d, Item item) { super(material, d); setCreativeTab(LoECreativeTabs.tabCombatLoE); + repair_item = item; } @Override - public boolean getIsRepairable(ItemStack itemstack, ItemStack repairItem) { - return repairItem.getItem() == CinderLoE.ingotAsh && super.getIsRepairable(itemstack, repairItem); + public boolean getIsRepairable(ItemStack item, ItemStack repair_material) { + if (repair_material.getItem() == repair_item) + return true; + return false; } + } diff --git a/src/main/java/com/zivilon/cinder_loe/items/LoEBattleAxe.java b/src/main/java/com/zivilon/cinder_loe/items/LoEBattleAxe.java new file mode 100644 index 0000000..2a1d916 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/items/LoEBattleAxe.java @@ -0,0 +1,32 @@ +package com.zivilon.cinder_loe.items; + +import com.zivilon.cinder_loe.LoECreativeTabs; +import lotr.common.item.LOTRItemBattleaxe; +import lotr.common.item.LOTRItemHammer; +import lotr.common.item.LOTRMaterial; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class LoEBattleAxe extends LOTRItemBattleaxe { + public Item repair_item; + + public LoEBattleAxe(LOTRMaterial material) { + this(material, (Item) null); + } + public LoEBattleAxe(LOTRMaterial material, Block repair_block) { + this(material, Item.getItemFromBlock(repair_block)); + } + public LoEBattleAxe(LOTRMaterial material, Item item) { + super(material); + repair_item = item; + setCreativeTab(LoECreativeTabs.tabCombatLoE); + } + + @Override + public boolean getIsRepairable(ItemStack item, ItemStack repair_material) { + if (repair_material.getItem() == repair_item) + return true; + return false; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/items/LoEDagger.java b/src/main/java/com/zivilon/cinder_loe/items/LoEDagger.java new file mode 100644 index 0000000..44810ea --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/items/LoEDagger.java @@ -0,0 +1,31 @@ +package com.zivilon.cinder_loe.items; + +import com.zivilon.cinder_loe.LoECreativeTabs; +import lotr.common.item.LOTRItemDagger; +import lotr.common.item.LOTRMaterial; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class LoEDagger extends LOTRItemDagger { + public Item repair_item; + + public LoEDagger(LOTRMaterial material, DaggerEffect poison, Item redDwarfSteel) { + this(material, (Item) null); + } + public LoEDagger(LOTRMaterial material, Block repair_block) { + this(material, Item.getItemFromBlock(repair_block)); + } + public LoEDagger(LOTRMaterial material, Item item) { + super(material); + repair_item = item; + setCreativeTab(LoECreativeTabs.tabCombatLoE); + } + + @Override + public boolean getIsRepairable(ItemStack item, ItemStack repair_material) { + if (repair_material.getItem() == repair_item) + return true; + return false; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/items/LoEPike.java b/src/main/java/com/zivilon/cinder_loe/items/LoEPike.java new file mode 100644 index 0000000..acb4e2b --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/items/LoEPike.java @@ -0,0 +1,32 @@ +package com.zivilon.cinder_loe.items; + +import com.zivilon.cinder_loe.LoECreativeTabs; +import lotr.common.item.LOTRItemHammer; +import lotr.common.item.LOTRItemPike; +import lotr.common.item.LOTRMaterial; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class LoEPike extends LOTRItemPike { + public Item repair_item; + + public LoEPike(LOTRMaterial material) { + this(material, (Item) null); + } + public LoEPike(LOTRMaterial material, Block repair_block) { + this(material, Item.getItemFromBlock(repair_block)); + } + public LoEPike(LOTRMaterial material, Item item) { + super(material); + repair_item = item; + setCreativeTab(LoECreativeTabs.tabCombatLoE); + } + + @Override + public boolean getIsRepairable(ItemStack item, ItemStack repair_material) { + if (repair_material.getItem() == repair_item) + return true; + return false; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRContainerAnvil.java b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRContainerAnvil.java index e98b69e..7f96f88 100644 --- a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRContainerAnvil.java +++ b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTRContainerAnvil.java @@ -144,7 +144,16 @@ public abstract class MixinLOTRContainerAnvil { return (materialItem.getItem() == CinderLoE.bonemold); if (armorMaterial == CinderLoE.MATERIAL_RHUDAUR.toArmorMaterial()) return (materialItem.getItem() == Items.iron_ingot); - + if (armorMaterial == CinderLoE.MATERIAL_JADE.toArmorMaterial()) + return (materialItem.getItem() == LOTRMod.emerald); + if (armorMaterial == CinderLoE.MATERIAL_SERPENT.toArmorMaterial()) + return (materialItem.getItem() == LOTRMod.bronze); + if (armorMaterial == CinderLoE.MATERIAL_WARLORD.toArmorMaterial()) + return (materialItem.getItem() == LOTRMod.bronze); + if (armorMaterial == CinderLoE.MATERIAL_USURPER.toArmorMaterial()) + return (materialItem.getItem() == Items.iron_ingot); + if (armorMaterial == CinderLoE.MATERIAL_GILDEDGALVORN.toArmorMaterial()) + return (materialItem.getItem() == LOTRMod.galvorn); } return false; diff --git a/src/main/resources/assets/cinder_loe/lang/en_US.lang b/src/main/resources/assets/cinder_loe/lang/en_US.lang index 8461713..716688a 100644 --- a/src/main/resources/assets/cinder_loe/lang/en_US.lang +++ b/src/main/resources/assets/cinder_loe/lang/en_US.lang @@ -365,10 +365,10 @@ lotr.enchant.stealth.desc=Reduces NPC detection range lotr.enchant.mountArmor=Heavy lotr.enchant.mountArmor.desc=+1 mount armor lotr.enchant.meleeSturdy=Sturdy -lotr.enchant.meleeSturdy.desc=Reduces chance of negative modifiers +lotr.enchant.meleeSturdy.desc.melee=Cannot degrade with low durability +lotr.enchant.meleeSturdy.desc.ranged=Cannot degrade with low durability lotr.enchant.armorSturdy=Sturdy -lotr.enchant.armorSturdy.desc=Reduces chance of negative modifiers - +lotr.enchant.armorSturdy.desc=Cannot degrade with low durability lotr.unit.Banner_Warg=Warg Rider Banner lotr.unit.Banner_Horse=Mounted Banner Bearer