From 390b0560e1569cbe86b7f4275dca7b590f4bba07 Mon Sep 17 00:00:00 2001 From: KeyLime17 Date: Tue, 10 Jun 2025 20:48:30 -0400 Subject: [PATCH] lurtz bow, esgaroth armor + soldier, dragon helm of dor lomin --- .../com/zivilon/cinder_loe/CinderLoE.java | 13 +++----- .../client/model/ModelEsgarothHelmet.java | 31 +++++++++--------- .../cinder_loe/coremod/LOTRWeaponLinker.java | 3 +- .../npc/good_human/EsgarothSoldier.java | 26 +++++++++++++++ .../assets/lotr/armor/esgaroth_helmet.png | Bin 1271 -> 1399 bytes .../assets/lotr/textures/items/bowLurtz.png | Bin 0 -> 293 bytes .../lotr/textures/items/large/bowLurtz.png | Bin 0 -> 420 bytes .../textures/items/large/bowLurtz_pull_0.png | Bin 0 -> 499 bytes .../textures/items/large/bowLurtz_pull_1.png | Bin 0 -> 508 bytes .../textures/items/large/bowLurtz_pull_2.png | Bin 0 -> 508 bytes 10 files changed, 48 insertions(+), 25 deletions(-) create mode 100644 src/main/resources/assets/lotr/textures/items/bowLurtz.png create mode 100644 src/main/resources/assets/lotr/textures/items/large/bowLurtz.png create mode 100644 src/main/resources/assets/lotr/textures/items/large/bowLurtz_pull_0.png create mode 100644 src/main/resources/assets/lotr/textures/items/large/bowLurtz_pull_1.png create mode 100644 src/main/resources/assets/lotr/textures/items/large/bowLurtz_pull_2.png diff --git a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java index 8daaf6f..e141a1a 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java @@ -221,8 +221,6 @@ public class CinderLoE { public static Item bootsJade; public static Item helmetDorLomin; public static Item bodyIsildur; - public static Item legsArtifact; - public static Item bootsArtifact; public static Item bowLurtz; // Misc @@ -751,6 +749,7 @@ public class CinderLoE { EVENT = getLOTRMaterialByName("EVENT"); MATERIAL_JADE = getLOTRMaterialByName("JADE"); + MATERIAL_ARTIFACT = getLOTRMaterialByName("ARTIFACT"); frostblade = (new LOTRItemSword(EVENT)).setUnlocalizedName("lotr:frostblade").setTextureName("lotr:frostblade"); daggervoid = (new VoidDagger(EVENT)).addWeaponDamage(5.0F).setUnlocalizedName("lotr:daggerVoid").setTextureName("lotr:daggerVoid").setCreativeTab(null); @@ -763,11 +762,9 @@ public class CinderLoE { legsJade = (new LoEArmor(MATERIAL_JADE, 2,"leggings")).setUnlocalizedName("lotr:legsJade").setTextureName("lotr:legsJade").setCreativeTab(null); bootsJade = (new LoEArmor(MATERIAL_JADE, 3)).setUnlocalizedName("lotr:bootsJade").setTextureName("lotr:bootsJade").setCreativeTab(null); - helmetDorLomin = (new LoEArmor(MATERIAL_ARTIFACT, 0, "helmet")).setUnlocalizedName("lotr:helmetDorLomin").setTextureName("lotr:helmetDorLomin").setCreativeTab(null); + helmetDorLomin = (new LoEArmor(MATERIAL_ARTIFACT, 0, "dorlomin")).setUnlocalizedName("lotr:helmetDorLomin").setTextureName("lotr:helmetDorLomin").setCreativeTab(null); bodyIsildur = (new LoEArmor(MATERIAL_ARTIFACT, 1, "isildur")).setUnlocalizedName("lotr:bodyIsildur").setTextureName("lotr:bodyIsildur").setCreativeTab(null); - legsArtifact = (new LoEArmor(MATERIAL_ARTIFACT, 2,"leggings")).setUnlocalizedName("lotr:legsBronze").setTextureName("lotr:legsBronze").setCreativeTab(null); - bootsArtifact = (new LoEArmor(MATERIAL_ARTIFACT, 3)).setUnlocalizedName("lotr:legsBronze").setTextureName("lotr:legsBronze").setCreativeTab(null); - + bowLurtz = (new LOTRItemBow(MATERIAL_ARTIFACT, 1.5)).setDrawTime(30).setUnlocalizedName("lotr:bowLurtz").setTextureName("lotr:bowLurtz"); forgingKit = (new ForgingKit()); fieldRepairKit = new FieldRepairKit().setUnlocalizedName("lotr:field_repair_kit").setTextureName("lotr:field_repair_kit"); @@ -787,9 +784,9 @@ public class CinderLoE { ItemRegistration.register(helmetDorLomin, "helmetDorLomin", 6209); ItemRegistration.register(bodyIsildur, "bodyIsildur", 6210); - ItemRegistration.register(legsArtifact, "legsArtifact", 6211); - ItemRegistration.register(bootsArtifact, "bootsArtifact", 6212); + ItemRegistration.register(bowLurtz, "bowLurtz", 6211); + linkLOTRWeapon(bowLurtz, "bowLurtz"); linkLOTRWeapon(frostblade, "frostblade"); linkLOTRWeapon(daggervoid, "daggerVoid"); linkLOTRWeapon(spearsolidgold, "spearsolidgold"); diff --git a/src/main/java/com/zivilon/cinder_loe/client/model/ModelEsgarothHelmet.java b/src/main/java/com/zivilon/cinder_loe/client/model/ModelEsgarothHelmet.java index 157bb7b..4b476c0 100644 --- a/src/main/java/com/zivilon/cinder_loe/client/model/ModelEsgarothHelmet.java +++ b/src/main/java/com/zivilon/cinder_loe/client/model/ModelEsgarothHelmet.java @@ -28,16 +28,15 @@ public class ModelEsgarothHelmet extends LOTRModelBiped { Hemlet = new ModelRenderer(this); Hemlet.setRotationPoint(0.0F, 24.0F, 0.0F); - FrontVisor = new ModelRenderer(this); FrontVisor.setRotationPoint(0.0F, 0.0F, 0.0F); - FrontVisor.cubeList.add(new ModelBox(FrontVisor, 32, 0, -6.0F, -29.3F, -6.0F, 12, -1, 4, 0.0F)); - FrontVisor.cubeList.add(new ModelBox(FrontVisor, 14, 43, 0.0F, -35.0F, -6.0F, 0, 11, 12, 0.0F)); + FrontVisor.cubeList.add(new ModelBox(FrontVisor, 32, 6, -6.0F, -29.1F, -6.2F, 12, 1, 4, 0.0F)); + FrontVisor.cubeList.add(new ModelBox(FrontVisor, 14, 41, 0.0F, -35.0F, -6.0F, 0, 11, 12, 0.0F)); bb_main2 = new ModelRenderer(this); bb_main2.setRotationPoint(0.0F, 0.0F, 0.0F); - bb_main2.cubeList.add(new ModelBox(bb_main2, 0, 21, -3.5F, -30.4F, -5.5F, 7, -3, 11, 0.0F)); + bb_main2.cubeList.add(new ModelBox(bb_main2, 0, 17, -3.5F, -33.2F, -5.5F, 7, 4, 11, 0.0F)); bb_main = new ModelRenderer(this); bb_main.setRotationPoint(0.0F, 0.0F, 0.0F); @@ -46,7 +45,6 @@ public class ModelEsgarothHelmet extends LOTRModelBiped { plumeee = new ModelRenderer(this); plumeee.setRotationPoint(0.0F, 0.0F, 0.0F); - plume4_r1 = new ModelRenderer(this); plume4_r1.setRotationPoint(0.0F, -35.0F, 0.0F); @@ -84,17 +82,18 @@ public class ModelEsgarothHelmet extends LOTRModelBiped { bipedHead.setRotationPoint(0.0F, 0.0F, 0.0F); bipedHead.cubeList.add(new ModelBox(bipedHead, 0, 0, -4.0F, -8.0F, -4.0F, 8, 8, 8, 1.0F)); - this.bipedHead.addChild(Hemlet); - this.bipedHead.addChild(FrontVisor); - this.bipedHead.addChild(bb_main2); - this.bipedHead.addChild(bb_main); - this.bipedHead.addChild(plumeee); - this.bipedHead.addChild(plume4_r1); - this.bipedHead.addChild(plume3_r1); - this.bipedHead.addChild(plume2_r1); - this.bipedHead.addChild(plume_r1); - this.bipedHead.addChild(plume5_r1); - this.bipedHead.addChild(cube_r1); + Hemlet.addChild(FrontVisor); + Hemlet.addChild(bb_main2); + Hemlet.addChild(bb_main); + Hemlet.addChild(plumeee); + plumeee.addChild(plume4_r1); + plumeee.addChild(plume3_r1); + plumeee.addChild(plume2_r1); + plumeee.addChild(plume_r1); + plumeee.addChild(plume5_r1); + plumeee.addChild(cube_r1); + + this.bipedHead.addChild(this.Hemlet); this.bipedHeadwear.cubeList.clear(); this.bipedBody.cubeList.clear(); diff --git a/src/main/java/com/zivilon/cinder_loe/coremod/LOTRWeaponLinker.java b/src/main/java/com/zivilon/cinder_loe/coremod/LOTRWeaponLinker.java index 469b3de..4264aa0 100644 --- a/src/main/java/com/zivilon/cinder_loe/coremod/LOTRWeaponLinker.java +++ b/src/main/java/com/zivilon/cinder_loe/coremod/LOTRWeaponLinker.java @@ -25,7 +25,8 @@ public class LOTRWeaponLinker implements IClassTransformer { "frostblade", "spearsolidgold", "whip", "spearUnnamed", "welfRelic", "daggerVoid", "swordBree", "maceArnor", - "daggerAsh","bowAsh","hammerAsh","pikeAsh","battleaxeAsh","swordAsh","spearAsh", "staffAsh", "cleaver"); + "daggerAsh","bowAsh","hammerAsh","pikeAsh","battleaxeAsh","swordAsh","spearAsh", "staffAsh", "cleaver", + "bowLurtz"); } return basicClass; } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/good_human/EsgarothSoldier.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/good_human/EsgarothSoldier.java index 7604a04..d213f15 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/good_human/EsgarothSoldier.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/good_human/EsgarothSoldier.java @@ -20,4 +20,30 @@ public class EsgarothSoldier extends LOTREntityDaleSoldier { super(world); this.npcShield = LOTRShields.ALIGNMENT_ESGAROTH; } + @Override + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + int i = this.rand.nextInt(5); + if (i == 0 || i == 1 || i == 2) { + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.swordDale)); + } else if (i == 3) { + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.battleaxeDale)); + } else if (i == 4) { + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.pikeDale)); + } + if (this.rand.nextInt(6) == 0) { + this.npcItemsInv.setSpearBackup(this.npcItemsInv.getMeleeWeapon()); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.spearDale)); + } + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(CinderLoE.bootsEsgaroth)); + this.setCurrentItemOrArmor(2, new ItemStack(CinderLoE.legsEsgaroth)); + this.setCurrentItemOrArmor(3, new ItemStack(CinderLoE.bodyEsgaroth)); + if (this.rand.nextInt(10) != 0) { + this.setCurrentItemOrArmor(4, new ItemStack(CinderLoE.helmetEsgaroth)); + } else { + this.setCurrentItemOrArmor(4, null); + } + return data; + } } diff --git a/src/main/resources/assets/lotr/armor/esgaroth_helmet.png b/src/main/resources/assets/lotr/armor/esgaroth_helmet.png index 32679ec78f6d905354b7d341107975cac3632194..f8cc50130d18b555b31f808ddd8284d2990ab233 100644 GIT binary patch delta 1334 zcmV-61Xk9l zas_Dh-$wBE*MEz`kskx9DnQE0x{m3k*d>grTMkVYklEVOw9ky#W`CR`PZXAwfm%INH9$Dr4%nnyelMMzn>|xAWUO0Dl0_?>CVgnt#)xVT=DE}{fUdqbsIIU}UIUr?aNbd21OpLSR zr4$IRw`s#_jS91qelqgTo6sX877h?$Iy6Jh_pD(dGmM-pVdw9EScR8+dU5IEmlcIg zhi1s1nSV4ZJ5C;lv%M4Nd)9Dw_g#RSF!gkG0o?de&IOu@EhkHulLrA5ded?8c+EnJ z&v_y9Ih^gCfT9F`;FPj5bD>tkCPLqbzEkzYHy6Jpyor~C)+u#9-Og|CAiup+7$dl` z;~*f+PWlM|6t9x%h028z8A_2zr47Gst+b&5jeqB5mTP>qV-^RM#oKqtgL@AN06e(& zkSyN5Q}=YVR&1w647;Z37DM(6mkd?7=@b9}$GW_R$ugw^_7Xp{?Rwpz+d-nzyG(^){9?+w^EH`vQjG|vJyo<6HsZZx|q^TPg?2$I_b z$!%hPOT?}j$AEgK)O#Bdq13h>OcwzEtw*f zD9$38di@VTNohHE`F`tPkMo?KniIr$5`C`@u%F%Kz;tMa)S8zU3kS$_XolEb4wXDH zo@{A`C=XM>QgD>e-bkd<@TYFE%nq8}v5*8h%yMKIN z&?>J{2((v=dxU0q&?JTx=f{AO5~n4hVs_F`Xqw&G+)sd_Sd>V};4{VObpXKQEuBCy zvU?W`nPC8^%QXQ&;CsGYL)e9tbTlpIOB=>4u_aW?1gANItsX;6j}Qw7h!{_n zHP6FNn-L!#m>Ho|swpM1yspV2sDBkve=IH^WNbcnFCxq9@VR^8?e{Pxi1B2_G&VYD z(Yn-ypeQntN~`jC4@%rOj9Ml|t&a7TFy-4}Bhjq@qdr(@HAmh8n(}tI712QJ3e>c( z$IB552iPL4&o#jIi}BTx^PNNG0@YTaG!*ku=}=ifB9#V)3Lj+fE6@a2hbu0@W8naa socK_`0uJKzxiINkLu7ef)o2v0ap)MZ6ikx;0F7y=`FEvK2$RtSCaNllZU6uP delta 1205 zcmV;m1WNn&3ik<+FnNkli6nYCLQagt){ojr=^>&e(A0Mw zQt%~UbkoJSm_q5Lv=AcPLrg>=!IuySLd67h3njf2szdIw4JD3rC~2BTQPmZyYPQl! zvO~kEE!fISs8)7Sd^7#*`hO%RQYne%~b}HZ=cN)4kNOo>sA?&&B zbiG}5OK!WaE(1T!p_YrWatjio4@_w zlW%_#-uW@0qkjYBl49tdS$#l1aU*UX4Db}vq#_NG67AK82X03d(-rLGEY-M&iz z!2ReB0AR{HiIg{}%@A@)fqUGEIZqJny-^zibfVEbxLY(noyI4g^I}dJ$)x zZmeDV`p6Jnk8F^~`-{N-OT75=IqauSz~OX5obe%ba9FOmw}&$xk9IsNSSyN*xH1Qz z-kbJQCx4DzN%J#@b^Z;9(+#L;#2PM_6fK2@iM9~>K61UGr>|c7j<6x#4qB$w^Ypk@ zuA)}1*2f5D>=*@v*ovP3K=UrCTWGydXNFc}^M#&&?{OJJAB<<~Y-fC@dmIjj!)b%{ z+yZHJY^biDv}g!eeCN9|oMO5cBDSS9V)2L&9DfrK922m3MA(+r3_D|}ix8tU_x>yC zcf)p=G6Dq0gmx}CCU^vN69J}kz{yKX1OQ&`)!!~zJR$(#VEacywwTTVP^Ugp`4>=A z;QyydQ`*rL7Tw&EvLW_PLbGoU&aEd&|q zXow_Feuk+ho7(pPfKO~KppbHh>C{bX0)W8wd^yJnd-?6h3(3?u~xwO;SE z1EqTycJ?tG0d(m+N@Vi|V7~r?3@Ua9nq|t+EjZnQnpP>=iu#K7S0uM~8;nNNAWS1N T5thhnN$N?IurN4#lTigGw}(p% diff --git a/src/main/resources/assets/lotr/textures/items/bowLurtz.png b/src/main/resources/assets/lotr/textures/items/bowLurtz.png new file mode 100644 index 0000000000000000000000000000000000000000..1a52c041c17fc9a733c95c10d103dc43a5fdb997 GIT binary patch literal 293 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