From 9541283dae2aa01b1e6c492904c33c838c720332 Mon Sep 17 00:00:00 2001 From: Shinare Date: Sat, 28 Jun 2025 00:27:11 +0300 Subject: [PATCH] Added Effigy of Wrath --- .../com/zivilon/cinder_loe/CinderLoE.java | 4 ++ .../mixins/MixinLOTREnchantment.java | 3 ++ .../MixinLOTREnchantmentWeaponSpecial.java | 38 ++++++++++++++++++ .../zivilon/cinder_loe/util/DamageEvent.java | 5 ++- .../assets/cinder_loe/lang/en_US.lang | 4 ++ .../resources/assets/cinder_loe/sounds.json | 8 ++++ .../assets/cinder_loe/sounds/attack/wrath.ogg | Bin 0 -> 10258 bytes .../lotr/textures/items/effigy_of_wrath.png | Bin 0 -> 949 bytes .../textures/items/effigy_of_wrath.png.mcmeta | 3 ++ src/main/resources/mixins.cinder_loe.json | 3 +- 10 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantmentWeaponSpecial.java create mode 100644 src/main/resources/assets/cinder_loe/sounds/attack/wrath.ogg create mode 100644 src/main/resources/assets/lotr/textures/items/effigy_of_wrath.png create mode 100644 src/main/resources/assets/lotr/textures/items/effigy_of_wrath.png.mcmeta diff --git a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java index 9eb13fe..e8a34b9 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java @@ -74,6 +74,7 @@ import lotr.client.render.entity.*; import lotr.client.render.tileentity.LOTRRenderUtumnoPortal; import lotr.common.LOTRCreativeTabs; import lotr.common.LOTRMod; +import lotr.common.enchant.LOTREnchantment; import lotr.common.entity.animal.*; import lotr.common.entity.npc.*; import lotr.common.entity.projectile.LOTREntityGandalfFireball; @@ -225,6 +226,7 @@ public class CinderLoE { public static Item forgingKit; public static Item fieldRepairKit; public static Item cinderFurItem; + public static Item effigyOfWrath; // Common tools/weapons public static Item whip; @@ -796,10 +798,12 @@ public class CinderLoE { forgingKit = (new ForgingKit()); fieldRepairKit = new FieldRepairKit().setUnlocalizedName("lotr:field_repair_kit").setTextureName("lotr:field_repair_kit"); + effigyOfWrath = new LOTRItemEnchantment(LOTREnchantment.getEnchantmentByName("wrath")).setUnlocalizedName("lotr:effigy_of_wrath").setTextureName("lotr:effigy_of_wrath"); ItemRegistration.register(frostblade, "frostblade", 6200); ItemRegistration.register(forgingKit,"forgingKit",6001); ItemRegistration.register(fieldRepairKit,"fieldRepairKit",6002); + ItemRegistration.register(effigyOfWrath,"effigyOfWrath",6005); ItemRegistration.register(whip, "whip", 6110); ItemRegistration.register(daggervoid, "daggerVoid", 6201); ItemRegistration.register(spearsolidgold, "spearsolidgold", 6202); diff --git a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantment.java b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantment.java index 2c1c281..9bb8ede 100644 --- a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantment.java +++ b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantment.java @@ -42,6 +42,7 @@ public class MixinLOTREnchantment { LOTREnchantment meleeSturdy = new LOTREnchantmentWeaponSpecial("meleeSturdy").setEnchantWeight(0).setValueModifier(1); LOTREnchantment armorSturdy = new LOTREnchantmentArmorSpecial("armorSturdy").setEnchantWeight(0).setValueModifier(1); LOTREnchantment baneNPC = new LOTREnchantmentBane("baneNPC", 4.0f, LOTREntityNPC.class).setEnchantWeight(0); + LOTREnchantment wrath = new LOTREnchantmentWeaponSpecial("wrath").setEnchantWeight(0); LOTREnchantment.allEnchantments.add(baneNPC); @@ -59,6 +60,7 @@ public class MixinLOTREnchantment { LOTREnchantment.allEnchantments.add(fireRepair); LOTREnchantment.allEnchantments.add(mountArmor); LOTREnchantment.allEnchantments.add(stealth); + LOTREnchantment.allEnchantments.add(wrath); Field enchantsByNameField = LOTREnchantment.class.getDeclaredField("enchantsByName"); enchantsByNameField.setAccessible(true); @@ -80,6 +82,7 @@ public class MixinLOTREnchantment { enchantsByName.put(fireRepair.enchantName, fireRepair); enchantsByName.put(mountArmor.enchantName, mountArmor); enchantsByName.put(stealth.enchantName, stealth); + enchantsByName.put(wrath.enchantName, wrath); } catch (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace(); diff --git a/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantmentWeaponSpecial.java b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantmentWeaponSpecial.java new file mode 100644 index 0000000..9695192 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/mixins/MixinLOTREnchantmentWeaponSpecial.java @@ -0,0 +1,38 @@ +package com.zivilon.cinder_loe.mixins; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; + +import com.zivilon.cinder_loe.items.LoEGreatSword; +import lotr.common.item.LOTRItemBattleaxe; +import lotr.common.item.LOTRItemHammer; +import lotr.common.item.LOTRItemBalrogWhip; +import lotr.common.enchant.LOTREnchantment; +import lotr.common.enchant.LOTREnchantmentType; +import lotr.common.enchant.LOTREnchantmentHelper; +import lotr.common.enchant.LOTREnchantmentWeaponSpecial; +import lotr.common.item.LOTRWeaponStats; +import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; + +@Mixin(LOTREnchantmentWeaponSpecial.class) +public abstract class MixinLOTREnchantmentWeaponSpecial extends LOTREnchantment { + + public MixinLOTREnchantmentWeaponSpecial(String s, LOTREnchantmentType type) { + super(s, type); + } + + @Overwrite(remap = false) + public boolean canApply(ItemStack itemstack, boolean considering) { + if (super.canApply(itemstack, considering)) { + Item item = itemstack.getItem(); + if (item instanceof LOTRItemBalrogWhip && (this == LOTREnchantment.fire || this == LOTREnchantment.chill)) + return false; + if (this == LOTREnchantment.getEnchantmentByName("wrath")) + return (item instanceof LoEGreatSword || item instanceof LOTRItemBattleaxe || item instanceof LOTRItemHammer); + return true; + } + return false; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/util/DamageEvent.java b/src/main/java/com/zivilon/cinder_loe/util/DamageEvent.java index d12689d..4b1880d 100644 --- a/src/main/java/com/zivilon/cinder_loe/util/DamageEvent.java +++ b/src/main/java/com/zivilon/cinder_loe/util/DamageEvent.java @@ -62,7 +62,10 @@ public class DamageEvent { ItemStack weapon = attacker.getHeldItem(); if (weapon != null) { if (player.isBlocking() && angleDifference >= 135 && angleDifference <=225) { - + if (LOTREnchantmentHelper.hasEnchant(weapon, LOTREnchantment.getEnchantmentByName("wrath"))) { + world.playSoundAtEntity(player, "cinder_loe:attack.wrath", 0.5F, 0.75F); + return cancel; + } if (weapon.getItem() instanceof ItemAxe || weapon.getItem() instanceof LOTRItemAxe || weapon.getItem() instanceof LOTRItemBattleaxe) { sword.damageItem((int) (event.damage *1.5), player); // Axes deal 150% the Durability damage player.clearItemInUse(); 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 5467c69..aea82c4 100644 --- a/src/main/resources/assets/cinder_loe/lang/en_US.lang +++ b/src/main/resources/assets/cinder_loe/lang/en_US.lang @@ -58,6 +58,7 @@ item.cinder_fur_item_3.name=Obsidian Warg Fur item.cinder_fur_item_4.name=Black Bear Fur item.cinder_fur_item_5.name=Brown Bear Fur item.cinder_fur_item_6.name=Lioness Fur +item.lotr:effigy_of_wrath.name=Effigy of Wrath item.lotr:helmetJade.name=Jade Helmet item.lotr:bodyJade.name=Jade Chestplate @@ -408,6 +409,9 @@ 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=Cannot degrade with low durability +lotr.enchant.wrath=Wrathful +lotr.enchant.wrath.desc.melee=Attacks cannot be blocked +lotr.enchant.wrath.desc.ranged=Attacks cannot be blocked lotr.unit.Banner_Warg=Warg Rider Banner lotr.unit.Banner_Horse=Mounted Banner Bearer diff --git a/src/main/resources/assets/cinder_loe/sounds.json b/src/main/resources/assets/cinder_loe/sounds.json index 3663352..da140d2 100644 --- a/src/main/resources/assets/cinder_loe/sounds.json +++ b/src/main/resources/assets/cinder_loe/sounds.json @@ -57,5 +57,13 @@ "monkey/hurt1", "monkey/hurt2" ] + }, + "attack.wrath": + { + "category": "player", + "sounds": + [ + "attack/wrath" + ] } } diff --git a/src/main/resources/assets/cinder_loe/sounds/attack/wrath.ogg b/src/main/resources/assets/cinder_loe/sounds/attack/wrath.ogg new file mode 100644 index 0000000000000000000000000000000000000000..250e344e43be58d34e354af9a250c74c19749f06 GIT binary patch literal 10258 zcmeHtc{rO}*Y_=^n3D)X=?P*;3`J368zh8^ArdvVMAcAQV+ZZ&2|^=O%_ZnD4?&9t ztyYVoimJIvwMw<&i-^srby143xzzW{*ICb0RwEa1v-`LD!p$(P)%c`pdJ z`QzV{sNj#Dq`(T!fkzIQnCb5@)i*RS;I}}7zu-ebhxZ4^ScAeKP-wW_m@h>~gwcOA z6cGOL*08nn6aer5fQd!n?5kttnJ^_=H^pUT+tGtB6m6a1Ny}c{?i5X&ZO#a6h7#mVnvWU$fifL~H&OpTcGLkuLQ>VnlnL~eKqK)^<0a*Z0R-w(V z&=!X&wTc6S006_gBX313-_BOP-J&c3mGTw_0096B)+4d2NSRMaIT-I8jm`WtjjKD{ zx|xkOo09;*&0UfhjTGH%w;uqYWoGPZFLre(`xz?}%1mv901N;S0*5iS^RRNrBiyCZ z?zKnG|0DYr1S@Vf2Qh?AgdM0CVHpT2ifrluoCX8VHt1vg1u_HWBwZoaWd5jRxy)Od zR=eV*acocJ%hs62noDswnZ6GCY;9SR6Ry6lBEx7{_tMDb!{SBbC231Z!#)h)A^^Z5M;)7^hRsa$B2J{`%Mx>{!Z=!NjN_!0 zD>97p?D+Yx-uG7gWmkl9U_^Iga$!vv7iU1G$$|08A|LkTn!Y6GAVg?3#Mck6wu5#$*qgV@}QS^I)(P#;M`9>XP4E@sB7fjh6B!o6B7X2XaM%wQ1Aw zkNG`-BXZX}HwT@hl4w8dF=U{rS_M-Yz%Y@vni|y;6fU}oLcz*0sZKbJ$~;OqmIk9>>+{5IaT@s) z0GLe_1b-=Rp@U8US_WVk*z*r<7qu#6(5SfT$;===+#pf~ zm`!bIb80jle<*-^`!786K{fKB=i=_kfpGzuM)Pmg-NbUe(|`{f2+I%9I`t!b`KSde zwl{$q0WtHt7ax4TAW`?~g%@+J0Psdg6expi@pLf5DoN-X@7Lg;mv~fi78sHT!)(P> znRyf_xGVl){s@2sntVpf3_qZn!H0kkkYbE%7XN-w_|m_N|4)=27@TcJX#aQ!17B!n zz~^1F%@)0m<6Z%vMgi)Ic27C%wg%W%vwJHRTi0A3JKJt(reW z*F7IAZHvYBdj`2O64C*lL86m<43>iaZKdkC>!ZjjBTJwwH@_^I_M;NK)?9Q%2EGF$F9`W?nAU z=qb`x(so@r-We;Rmyfa?Kvm7g>@JU$2EC#Uz+hwnfS{1@cA$F^cpM9hg9tfn0T^h) z0T$t=ZPYP0F&NxK08dY{)d#3vepUW{_;UjKt4kLIRfSZcHoDSf3?b!`sGG8fkM&Bq zjA3!{Xs}-ZkOJO-6Z8Y%@bQtr{h<+2amP+Fn5>K}&_RMp5jY9nTs80nf^jTLQE7{^ z%GRIIs%q*O(2f7NgQFRMkkF5aitoXNgf=hPLI*eR-~hnCWb^qa0<@l^O%3ngo47ME za&w@2p#S#m;i0jS!STW2@saC8eH~ZtzeE!E`}-oZ<6m-5897^u$GJ5u97sHAS-Cc@ zp1)OvI{y1oy3MuF!F$g? ztE#-RF}jtkL0MDpr=tAIyznQJn;HewlOz#M4qjLkGqp$Oiqnv-b`w2O2Z4}j!JNqpytxYh`NKBR6*u*U( z+*oKra8tOQbEMlinj^aNOZK_ZsCxW5+9rMQMg?99*y=kyD*9G*$V*pkUj)tar@o)G zgIZW8Lv|Pr#}r&b1+6qXgC3ftkz=rPZ?p@H>7t#~*9Vh*9g0#AvAI^69qNb4AgBjs zu*8BMgeuV%G~FY8C*o{#T_(kdCts7-+F$)15q?HHXIqYrY-jPJRng0b8@5|UJ9^~5 zSITyX;r-{MpB-hMlKYz7wFa6-m*XOZzGaCtw2CwI_S5=;U zU+Zi>b#~N~dD-USMZ25LmP;GYw=?yd6x7tkv+iEs`vf9zJ+p_~pJWJJUwQ&TC`kS!q_FPS+Y zD=!q%^>KJC4Mp~kWRUJQ#JbeMTXHVVzd$7jKom%z}!%4&? z+6pH3KdVbU?4ZE`*mY&6=6{@Kz<@W=vbCcUg&V*A#UjvDYDc0{SPNc` zcW12`E#GN;N`+&;Yxl(!y*)oE+1w}>n?WnM6a(%lP0b7m^_D(|pykRwGtRLk8?(VxzdmmP+eT8jVyx^LWx*b4f&d z^5vA%#@CmyTNY3n&BAfz!I9@}@{iMHlTf;kbt^zp4T}dRp`lW1l zgV^i(0#UUqePt7p~OQb+_Dw@<6^R> z^sO#qyY-Gq{C3=fReHzQp~k1MhT=FG2XEmeV45h^NbZTj<_NuCuibsM&R%`Rl@CpN z9IE=oWp3=%&v5r@fjSqiC$gXP%5tas`ufjW&MkQZPd|xnRRo$Z`rVI^0lpXAd5fLf zrTJlT<6qR#lrXqaI03fbLN0c+74vi`rl8*${8qr=1`77`iq~27o*A?t8iCM{hKnr= z76HUGdsSXbGlC3*b3>{fadIZuo+2{^=9qe2@J`H=#%%GliShBJvm4YG^*gV3T5_^K z|B*cD)%HH~*Y8mcxN>s*9E<$+t}D#HzfJh%pwjzy#y9u5&nDVlR~8@p#nN^>5*QaP z#yyuh8S*5hJ7ndpj-%IaJMH1X1wr_e$AdD>`0%%%#euCpZH3GTT?vsbPhy^ zZS%`=s9gcSx|QVjmjvnCqd>LTwvq08w>p%`c$=_G8Rk7%cy%sF&+J?=yWH)LK` zfXy}lNXoP-?;FdmFV)L&&xzsZCxsMGzrGR2T&7% zg_*d3j>iEC2Qg7eB-_*31ltN}F)>*}kSv5ffFP&}LDdGL4O6uj8pXVwF1B1kMtN>D zSiIH^naq}YmZVAA8~W=V=6Q2rPLNoVByc9{*KM;q zfbX0XgZ^(a3So)R6L)M2m%g7)=i!-m$hr}k-t94?L#=)V{dn-COyYPp%tm+-k#2Qf zh%?cB*@Z&(C)gnV!0TJuO%a0wEnXw$>E1;c{!wo!U+fjh&8$f#WTD@(f~ufz%WWYVtTZ&! z8D=3eEFNJVC}i_y&!sW{!-`r>VosGwtGxc=HnT@fX1!@WH&~Q399h#;m1LKUbN*y{gBp`H-`F++~{A; zo6SPn6I}v6GDV67Da5FVz zYTyT+?M;)1u@=XUqdFg5??U+d3=d79{Vo*ioHF{*zWwfM$f10od&B4F(h~fF(nF~a zxiQhc!6u|M3VOWsh|b{;ZwJEEE9wZhObDYdUcps$rBsTUF!S?ogn=*KiFHpq3{w}ISX5Ey) zJyFfmT$j;l+H>al!GZ}+-L6L7UXu$lViS@hiK@fiqk`bBxJ1qX&q4+&d@)olvxcnF z5;)ffpHvI)H>Nr_u*yVGvoH;6gt5JJhB_Wqcl_%OWj`Hw+BtO6UEuJ-(m48~kuN3T zXLX&6?r*r2jvYn%gT3RYj=0d}yD0fJzQh~@?7;;4b(yAJd1%CA{hiD1YHRnKdM`Z{ zH$^uo7_-#Rr)Qtq^J43j>X!-M+Ef4V%NL?)$k9qg1$k>go>TE@6#dyeH%i^2lyLnnQz*06sb-rA2~gySl_+B=o`OW@kb^kIv!BUN)CyoijndXG zL93yHD(;FOOL?}b+vLi$KF)S%4`b^@Fb{c2T&G$$CpS4GU~l?IABVnQZuYPCT#BE4M@TIc8$kh00&x zh2Eyw2ldt^F#y8k*CzDIgQDZAa+s>9PkZEd=1Z5A|91ZCI@dD4pct2)e&EE%Mb(VU zU6Pe8*CHlr$PK=3YxRW}7Au#R?w>7rZGCb0rE(khQt->=Gg4tKwQliUpN{PFZ4KgF z#)Vqs*YJ!fWFn9~5$P^&qW)DLpc@7#o>}V2{4OAVsyP0_0B;v;l1^K{e#c@@(A-a~ zuohhWUBN^L3BWTq61>BDQcSyJ`1Vzn>P3q@;s6tswCNk?anuUY0d1&?)QY;W?Q*@d zvxNqMjW6BcZdDGIP$&58;#V)br*Zk`1+v>kg~i3Lb1(Z`9S$$rxbN>5eKw46Wj#Dt zZV}cq*OYmV0;|_Q`*lz6#{jG32k#DsX>;H0BcH=TBb&McP4+co-+6dXTdNK260K`a z5#o;5%s2j4L4H&jLcY3B>b_hkuu#>vArU%>3J^S%5Zvsre0sMwji^*#yGP`N@u|y9 z3au*pi-Ccvy!3GGwRf7}sjgvo%h?umV$I@eUX3-0K9X1aku5=TmLdV+D1|ipWipCk zC!BdMC7OjiV?tS9>4RKM9emolP55Lgky$zm9venT4@=yxE zmBu6@k~~v4)X�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 P{u>F-rPFf1s5J0jH87;3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lotr/textures/items/effigy_of_wrath.png b/src/main/resources/assets/lotr/textures/items/effigy_of_wrath.png new file mode 100644 index 0000000000000000000000000000000000000000..0fefe671c51e5427c8ca4baec5d93a6d50fbc29b GIT binary patch literal 949 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!3HEnE`C}7q!^2X+?^QKos)S9a~60+7BevL9R^{>K&bwnE;85H2h3(RkLdkMBzC?u+syzyC<z`HXgB_ z@mGQO*@`#sWGnvYoYb0PHT{14>LwPJ2&X8w59>Mq*-Uj0{FI_@Xz;48_UDET)xCy| zo(7wg`=&9yIU_7>XX@GgnzP{3j<^LzW(mFPrV9x-^sTu$(c9!;&U8h`Bg)5FBv%Hl zslVnP^i&dv%)0g}r*Cs)h!1AlcC%jKK>1(4&k7|ecSJQ7{$^e0^rFx{wWB=XZOJ0T z)>6S+lNI(K3V-f+BgZ$ODK}F{Ab~Se^4E8k6rF?a&l;tBIk~=BT0hFrJaEot0Z3{Lc?0q>tX4Xnb3tVZA0efFA6&v*(YRUikUy#uLY% zGad}KJ|5dBw8h=*;DhBnANh9qTkEcwdqO9}tLYC{`E$q5`}rncd#s{xKta8E8f2fyr}^99Xe> z-`g#=jh=a*6S}{i|K+jD#(9;^VGN`HU#-0GA-JuAeY5*-MOw$U3dCZ jEHLlzrABzB`T8