From 0a0f6938c95be7e417fa1ea2d18abcb8f61349ff Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 9 Aug 2024 14:55:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0perk=E8=B4=B4=E5=9B=BE,?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=87=8E=E5=85=BD=E5=BC=B9=E9=9F=B3=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ProjectileEntity.java | 1 + .../superbwarfare/event/GunEventHandler.java | 8 ++++ .../mcreator/superbwarfare/init/ModPerks.java | 6 +-- .../superbwarfare/init/ModSounds.java | 1 + .../network/message/FireMessage.java | 35 ++++++++++++++---- .../models/item/poisonous_bullet.json | 6 +++ .../assets/superbwarfare/sounds.json | 8 ++++ .../textures/item/perk/fourth_times_charm.png | Bin 751 -> 773 bytes .../textures/item/perk/gutshot_straight.png | Bin 680 -> 696 bytes .../textures/item/perk/heal_clip.png | Bin 671 -> 691 bytes .../textures/item/perk/kill_clip.png | Bin 662 -> 663 bytes .../textures/item/perk/killing_tally.png | Bin 817 -> 891 bytes .../textures/item/perk/poisonous_bullet.png | Bin 0 -> 1074 bytes 13 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 src/main/resources/assets/superbwarfare/models/item/poisonous_bullet.json create mode 100644 src/main/resources/assets/superbwarfare/textures/item/perk/poisonous_bullet.png diff --git a/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java index 1293f9b0d..413a5ff47 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/ProjectileEntity.java @@ -361,6 +361,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa if (beast && entity instanceof LivingEntity living) { if (living.isDeadOrDying()) return; + if (living instanceof SenpaiEntity || living instanceof Target1Entity) return; if (this.shooter instanceof ServerPlayer player) { ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(0, 5)); diff --git a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java index 961440fda..f63b4503f 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java @@ -300,6 +300,14 @@ public class GunEventHandler { } } + var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO); + + if (perk == ModPerks.BEAST_BULLET.get()) { + if (player instanceof ServerPlayer serverPlayer) { + SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 5, 1); + } + } + SoundEvent sound1p = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, name + "_fire_1p")); if (sound1p != null && player instanceof ServerPlayer serverPlayer) { SoundTool.playLocalSound(serverPlayer, sound1p, 2f, 1f); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModPerks.java b/src/main/java/net/mcreator/superbwarfare/init/ModPerks.java index b71fee193..f1edb7f59 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModPerks.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModPerks.java @@ -23,12 +23,12 @@ public class ModPerks { public static final DeferredRegister PERKS = DeferredRegister.create(new ResourceLocation(ModUtils.MODID, "perk"), ModUtils.MODID); public static final RegistryObject SILVER_BULLET = PERKS.register("silver_bullet", - () -> new AmmoPerk(new AmmoPerk.Builder("silver_bullet", Perk.Type.AMMO).bypassArmorRate(0.1f).rgb(87, 166, 219))); - public static final RegistryObject BEAST_BULLET = PERKS.register("beast_bullet", - () -> new AmmoPerk(new AmmoPerk.Builder("beast_bullet", Perk.Type.AMMO).bypassArmorRate(0.0f).rgb(134, 65, 14))); + () -> new AmmoPerk(new AmmoPerk.Builder("silver_bullet", Perk.Type.AMMO).bypassArmorRate(0.05f).rgb(87, 166, 219))); public static final RegistryObject POISONOUS_BULLET = PERKS.register("poisonous_bullet", () -> new AmmoPerk(new AmmoPerk.Builder("poisonous_bullet", Perk.Type.AMMO).bypassArmorRate(0.0f).rgb(48, 131, 6) .mobEffect(() -> MobEffects.POISON))); + public static final RegistryObject BEAST_BULLET = PERKS.register("beast_bullet", + () -> new AmmoPerk(new AmmoPerk.Builder("beast_bullet", Perk.Type.AMMO).bypassArmorRate(0.0f).rgb(134, 65, 14))); public static final RegistryObject HEAL_CLIP = PERKS.register("heal_clip", () -> new Perk("heal_clip", Perk.Type.FUNCTIONAL)); public static final RegistryObject FOURTH_TIMES_CHARM = PERKS.register("fourth_times_charm", () -> new Perk("fourth_times_charm", Perk.Type.FUNCTIONAL)); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModSounds.java b/src/main/java/net/mcreator/superbwarfare/init/ModSounds.java index 33e701eec..4cee60b65 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModSounds.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModSounds.java @@ -40,6 +40,7 @@ public class ModSounds { public static final RegistryObject STEP = REGISTRY.register("step", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "step"))); public static final RegistryObject GROWL = REGISTRY.register("growl", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "growl"))); public static final RegistryObject IDLE = REGISTRY.register("idle", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "idle"))); + public static final RegistryObject HENG = REGISTRY.register("heng", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "heng"))); public static final RegistryObject M_79_FIRE_1P = REGISTRY.register("m_79_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "m_79_fire_1p"))); public static final RegistryObject M_79_FIRE_3P = REGISTRY.register("m_79_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "m_79_fire_3p"))); public static final RegistryObject M_79_FAR = REGISTRY.register("m_79_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "m_79_far"))); diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java index f8eb56568..0314ad5cf 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java @@ -2,11 +2,11 @@ package net.mcreator.superbwarfare.network.message; import net.mcreator.superbwarfare.entity.*; import net.mcreator.superbwarfare.event.GunEventHandler; -import net.mcreator.superbwarfare.init.ModEnchantments; -import net.mcreator.superbwarfare.init.ModItems; -import net.mcreator.superbwarfare.init.ModSounds; -import net.mcreator.superbwarfare.init.ModTags; +import net.mcreator.superbwarfare.init.*; import net.mcreator.superbwarfare.network.ModVariables; +import net.mcreator.superbwarfare.perk.AmmoPerk; +import net.mcreator.superbwarfare.perk.Perk; +import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.ItemNBTTool; import net.mcreator.superbwarfare.tools.ParticleTool; import net.mcreator.superbwarfare.tools.SoundTool; @@ -16,6 +16,8 @@ import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; +import net.minecraft.util.Mth; +import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.item.ItemStack; @@ -215,14 +217,31 @@ public class FireMessage { boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zoom; float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor"); - var projectile = new ProjectileEntity(player.level()) + + ProjectileEntity projectile = new ProjectileEntity(player.level()) .shooter(player) .headShot(headshot) - .monsterMultiple(monsterMultiple) .zoom(zoom) - .bypassArmorRate(bypassArmorRate); + .monsterMultiple(monsterMultiple); - if (tag.getBoolean("beast")) { + var perk = PerkHelper.getPerkByType(heldItem, Perk.Type.AMMO); + if (perk instanceof AmmoPerk ammoPerk) { + bypassArmorRate += ammoPerk.bypassArmorRate; + projectile.setRGB(ammoPerk.rgb); + + if (ammoPerk.mobEffect.get() != null) { + int level = PerkHelper.getItemPerkLevel(perk, heldItem); + projectile.effect(() -> new MobEffectInstance(ammoPerk.mobEffect.get(), 100, level - 1)); + } + } + bypassArmorRate = Mth.clamp(bypassArmorRate, 0, 1); + + projectile.bypassArmorRate(bypassArmorRate); + + if (perk == ModPerks.SILVER_BULLET.get()) { + int level = PerkHelper.getItemPerkLevel(perk, heldItem); + projectile.undeadMultiple(1.0f + 0.5f * level); + } else if (perk == ModPerks.BEAST_BULLET.get()) { projectile.beast(); } diff --git a/src/main/resources/assets/superbwarfare/models/item/poisonous_bullet.json b/src/main/resources/assets/superbwarfare/models/item/poisonous_bullet.json new file mode 100644 index 000000000..090e67af0 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/poisonous_bullet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/perk/poisonous_bullet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/sounds.json b/src/main/resources/assets/superbwarfare/sounds.json index 10fb138ab..1d816afd5 100644 --- a/src/main/resources/assets/superbwarfare/sounds.json +++ b/src/main/resources/assets/superbwarfare/sounds.json @@ -1793,5 +1793,13 @@ "stream": false } ] + }, + "heng": { + "sounds": [ + { + "name": "superbwarfare:heng", + "stream": false + } + ] } } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/fourth_times_charm.png b/src/main/resources/assets/superbwarfare/textures/item/perk/fourth_times_charm.png index 017cd3d1db89db7d7736206e651a525d3b9dbb1a..e3f8319870d07a132f2546076b7239b4e92d4a7f 100644 GIT binary patch delta 728 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 UyP`j7)c^nh07*qoM6N<$f-z$#ZU6uP diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/heal_clip.png b/src/main/resources/assets/superbwarfare/textures/item/perk/heal_clip.png index 15caa808839d555ebbd7ec09cb294a40189cde3f..95cfba94c246c964007cb0b5ef77987c447cc444 100644 GIT binary patch delta 645 zcmV;00($+Q1+xW^Ie%qIL_t(|ob6k|al$YVTw_u|Dq#489%vvv@Cki{M=Kp5wd5m97INY+UwTi%xqMyFk`PInl9%uxWqYPG7lC&GdKeqT(*NmW&- z>-=<>h=Ux-1Hjb*MNt3%?vF>O0lwz*>+$JyqM21d%x1HH=YLbpbyiTxKRth5e8!7` zkN3w?KJP3*AISrMP8XPHt}~*qvrTjsgsgJm4U}5Xl3U0t}TrU?D(g^1JP# zynR(T7zG$QdB7k*4&(t%A>>2eL~Ok|T-vU&6+?WU5)B9Ba_0rKOJHc(UWZlzLXr<* zV;?kf05$nG!hh?{;UX^uohUJuOTz)NY@dn~I(36oNI?Wv0RVmxyuJ|v;%;kdEDG_w z1<(~YAwlUHvLz79%G7a4b3kYjqLjk9!8-@2u)Rw*g-{GQ37}5eCh?ib*^bdR2l=x; z0(N!)cULFJ_iN`O-W)exT zODRhgi+%!ZNszmp7GT{4QV@ZC8{`%tcrRc>P;Ovi3&QRI0WK#bBLEkY5rC^VNbb2n zY$4bkz}*#&Kak)GoC0|ufhE9=Q2_1<&_Z1LWYyAp#KzR$3vL6Fg(BW|-CLV*?Y10D#SAQ*n2M1IOc0Wb!7@b5zyz zbV%gI6v+d?-2p-f0Knt!^ z?$9Yf?BszC0j5A6&`gAeknbY4-JOcIXH3PA-={>w0aJPN6514qZM4^+RREXdUD$XC z8e;%8`8LAa-G8a5r-DutAL-I?fG^vJ;)GtSK`MkG0;>Q3zX*eNgaE%~O^rn%-e3WA zlN*SH~zPIM=TVhy5xwZ6i7dWPj-`H%(JCIswX`V}8@a{@y8I z`*Q--k}k?%QB+7%Vb$KKt3X*+D68Acc*uk`dBCFsTp&pV5_p^ksDU_UaP^o$EQeK? zmNf2-5Q*rjfGtP`aJ?zwqJ1&}eC-HP#~Ib0pc*rXL9lCrLyf3*ghDwaWvv1sh`?S3 zxkYfkA8KGiu)coxEeN{P*3yq;g#7bq^VUayho`Tf2jK>fohU`_#fF@}GA&TxQlPBlh88DJHR00000 LNkvXXu0mjf7&jLL diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/kill_clip.png b/src/main/resources/assets/superbwarfare/textures/item/perk/kill_clip.png index 2e3d49274a962a0c07dee08fae2f77d38cc35465..3a60eb40b20917feb2f9b4c7dc6f06e9e4b4afe1 100644 GIT binary patch delta 617 zcmV-v0+#)j1(yYoIe$q>L_t(|ob8*zQNu70MZe=v02O4okRH+iJ>)|AAP0s?7hG~+ zQU@p3Ku$>qDIjFbfl&~)WozY?HkSNO_FydiuhmNO0+2Wv04$fwQo17&>~_0ss&0y+ zKv|~e!$e)AC>{W=5s+mW0N`+cPkO<_>2$q59*;b|^2ls9`+s*oH9TiURs8eI*QL+< zLh$+VlxP2Z#p5CLSOd5Tkg&(tudS0~QAO7Qfxh z^X{ko(P}{K;(-8wtLWI%QI=JR0FwL8???_;`i1W2Fi z^!9DG)h3*CfOM$ao*%l1E(xB$OOgrXDWHGV@f8JK0)N!}Z;OH~18fT3(M5p5w%E_U z3`#?d%qR?ae|^mFroUBR>a-*q(6kPRMvZdteL%G#iKS3)lcRn1DNv0H>HR_%(XIlv zj0Q+|K$_72=?+lgt_-mnKcJ=s!$>aSEu5A^g|phzEWEcLP&C2Cf+T00000NkvXXu0mjf Du2CER delta 616 zcmV-u0+;=l1(pSnIe$n=L_t(|ob8*zaf2`rMZXX!z!fk#xd%6p9(;-Wh))?8;zP!D z<#InhpU*VCa!8US|ITB@b$?pa#lOCNWqs~91fL%- zvU+Z9z!b#;f014iDX!~es^Z%)HozzGfT01ti3bb}@KHRVX@IZd0SyCOi{I~-^6^#f z=rq80@j!o0k+~zN5#d0W`ot!AQd(yP#Z^LK%da$ zj)Y!sgi3}IF-RT|8nXf19pEN-14tIZD%`8ODMkj=vp1IyHjlEyYWsamw~m0?>vdLi z(rOjntpTP{>74=B@50Cg?+l3LZEosLQSS`Mf6M&3#eaTl1IG9{L6#Mek+>~{n*E#f zE|BL1^5QlaPqBcM!gv?3Hed`95JdtJ2FwHM4RK_B)ix>GCr^dzThQ23WAAnWQ)UCW zJHX9s0CxvWp{@*(8eq~f8xez4hK6Jem0~gjY{hVw)W{Q|IywUPyQNfpJmDJl(pdc- zUAV|9Ct+0@bHQk~K`s;7>H?}axkDSl9s%6bXL27%P{U@x7{mi3m;&6)25@(Po5nVH zJ-xF(ptxkUS|Lr-`+38F>W?8XPl57a3jg&vqdu&_ zRt*mAgf&>vv4bnX!;up%y@CMZw;-U;o4Gkqpmy-yF0c!b0`43Y0BpD0Q|^J}z~OMH zp6R0NI-E}Tr^6F9?vXqIOc7936#(G%<;BauySKNg-S@rBsDBb-wOXBBKO63If=d4L zmp?;{y(RGL`-hre2MchGr;LjYPI~NjH9rgO6p&c$ zB^N7$$JPFz@m>f}YO0$d9)*i3Pzrgrz-hz1X^+_N)=}OE0(XO{p@#fie=MR7M5N)e z(9t~--UkYe03f~R3B?G&J&iUEAj~n~hLNod@s%4a$FS8+_WO z{Ym5Fv~Ki$UzPB5I4d3kZ(x7=|BOUceLRQh5h8DU%tL!rCLMa^52@ z63vh@X*5GrnHzY398YNk27v$&KOaa?(tGDKY0%%{eE@s_Cy0}L30DTW=ng)Q^hli*D@7~_}>$YuWYJXKw%jNRF`+LW8K{Cxh zeg56$#2Z6DzkOKf_sIa}XdeFcbfr7Tb6(BWyiL&nF3CJZ0=P8u5CPy4%|jr7OEnJx z04~`)3;>8V|ML8}@Rj+>C1b?M2|%*t^-8PjSR)cKY_bB#Y5CMv_Qi0-Tx_-nfW_%2 zNoN33TRyPTQGYRP+H4P;jI00Q<@pg3Avl-9q2^t!x!E3qhfGKe-SnwEG`v^VAs~_M zC6kq-#m(}h`kwWGTBkax7B_VUpceC5g7ccsX?;lC4VISKpab`Z zm1DfflvL^vh=Ne7dC1EFP6&EVsM$Q^PlHwnW=^QpJP0g=hQ>aQsV?RKg-a4KM3%xP zgrRwUvpsY%2PkYtV`I1^wiz-ZSWaJ&j$PR;v{%-+={yUU&_<4FPpAhi`q}R6u_LR$1O?-%14400000NkvXXu0mjf DAAV;o diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/poisonous_bullet.png b/src/main/resources/assets/superbwarfare/textures/item/perk/poisonous_bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..0f94a37063c3fa9e2eeb3e7d220b3a324b8b2379 GIT binary patch literal 1074 zcmV-21kL-2P)006kTx#^d7WC=Vy zJr!##v~3H0e|b8r@Zu850|1N>P!t6K06c&H;MBm!uYbnt!{HFetAyBWHd=XYu(JXu z|K;27E~LF2`1SL%qGfLZ&XGL8Tcjga2D@3DD|rdd5fFjA5`J4uKqmo0$v1T=kq026 zRNGxvF{}j$AwNUhXq!t2s~nJve2n{CaZ-RK$j7?h2D3w83G&r;M~lgafiVJ>nCcjL z0C~oU3Q>TB+1>|9MVJWiKP_@>U>pLu$qV66kt_;C0Yb>-;6i10)u}2DZdgZH}x2 zNRWV>+H=hdF8*3afR6}+iV3s6S}#}vGUB|Y~S z?`L66qbNzwBfKJD=-G+-=-lz8A0y$^Vuz1u)|P7O5{@tZq@F%MWSJb4156@Zt&6eV z6sAJhPTEA9t94-{ABx~4$eqD5_L^h^piifiFt`<+B?sME?^AQO518_)PLq995Hn3l@SMk~+d1j!D_Qa9%5 zP^u#_ClM^_lbuwjJQH*hVF~g80RmWtp|uFSY)d|LIOI4Lb`l|1&m(dji@WB8Y;UJ> z37}lEK4kbX0ufaJ!+2CYynRK8IsGA0M}U$RN2f#}^~-!B6A4<+0~kqazft=fA|w+) zTI5Lk1=Aivx+evay&kXL-Xw`TKFs#jcBkedB*nO=Nd0Z5; z80LBHT|+MN0GZYSY^!V{*5xJ-kl_;!gWNBQy0Fxnbe11Hu4;@``eSHmW s+m7Xl0JQQF@ID0a;vD|h=Q|SMFGdUvLt<8 literal 0 HcmV?d00001