From b8074209d00834f06ed86c0e0f25e0951787a4d4 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sat, 18 May 2024 17:21:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9F=BA=E6=9C=AC=E7=9A=84?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../target/client/screens/AmmoBarOverlay.java | 39 ++++++++++++++---- .../mcreator/target/item/gun/Aa12Item.java | 6 +++ .../net/mcreator/target/item/gun/GunItem.java | 6 +++ .../assets/target/textures/gun_icon/aa_12.png | Bin 0 -> 6817 bytes .../target/textures/gun_icon/default.png | Bin 0 -> 6269 bytes 5 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 src/main/resources/assets/target/textures/gun_icon/aa_12.png create mode 100644 src/main/resources/assets/target/textures/gun_icon/default.png diff --git a/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java b/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java index 5646ff0a1..8ba468dae 100644 --- a/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java +++ b/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java @@ -2,7 +2,9 @@ package net.mcreator.target.client.screens; import com.mojang.blaze3d.vertex.PoseStack; import net.mcreator.target.init.TargetModItems; +import net.mcreator.target.init.TargetModKeyMappings; import net.mcreator.target.init.TargetModTags; +import net.mcreator.target.item.gun.GunItem; import net.mcreator.target.network.TargetModVariables; import net.mcreator.target.tools.FireMode; import net.minecraft.client.Minecraft; @@ -28,29 +30,52 @@ public class AmmoBarOverlay { } ItemStack stack = player.getMainHandItem(); - if (stack.is(TargetModTags.Items.GUN)) { + if (stack.getItem() instanceof GunItem gunItem) { PoseStack poseStack = event.getGuiGraphics().pose(); + // 渲染图标 + event.getGuiGraphics().blit(gunItem.getGunIcon(), + w / 2 + 100, + h - 40, + 0, + 0, + 64, + 16, + 64, + 16); + FireMode mode = getFireMode(stack); + // 渲染开火模式切换按键 + event.getGuiGraphics().drawString( + Minecraft.getInstance().font, + "[" + TargetModKeyMappings.FIREMODE.getKey().getDisplayName().getString() + "]", + w / 2 + 125, + h - 18, + 0xFFFFFF, + true + ); + + // 渲染当前弹药量 poseStack.pushPose(); poseStack.scale(1.5f, 1.5f, 1f); event.getGuiGraphics().drawString( Minecraft.getInstance().font, getGunAmmoCount(player) + "", - w / 3f + 117, - h / 1.5f - 28, + w / 3f + 112, + h / 1.5f - 31, 0xFFFFFF, true ); poseStack.popPose(); + // 渲染备弹量 event.getGuiGraphics().drawString( Minecraft.getInstance().font, getPlayerAmmoCount(player), - w / 2 + 180, - h - 30, + w / 2 + 170, + h - 35, 0xCCCCCC, true ); @@ -83,12 +108,10 @@ public class AmmoBarOverlay { public static String getPlayerAmmoCount(Player player) { ItemStack stack = player.getMainHandItem(); - if (stack.getItem() == TargetModItems.BOCEK.get()) { - return ""; - } if (stack.getItem() == TargetModItems.MINIGUN.get()) { return ""; } + if (stack.is(TargetModTags.Items.RIFLE)) { return "" + (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).rifleAmmo; } diff --git a/src/main/java/net/mcreator/target/item/gun/Aa12Item.java b/src/main/java/net/mcreator/target/item/gun/Aa12Item.java index 7b2195531..ad95684f6 100644 --- a/src/main/java/net/mcreator/target/item/gun/Aa12Item.java +++ b/src/main/java/net/mcreator/target/item/gun/Aa12Item.java @@ -16,6 +16,7 @@ import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.Entity; @@ -191,4 +192,9 @@ public class Aa12Item extends GunItem implements GeoItem, AnimatedItem { public void setAnimationProcedure(String procedure) { this.animationProcedure = procedure; } + + @Override + public ResourceLocation getGunIcon() { + return new ResourceLocation(TargetMod.MODID, "textures/gun_icon/aa_12.png"); + } } \ No newline at end of file diff --git a/src/main/java/net/mcreator/target/item/gun/GunItem.java b/src/main/java/net/mcreator/target/item/gun/GunItem.java index 445caefbc..5cded16d2 100644 --- a/src/main/java/net/mcreator/target/item/gun/GunItem.java +++ b/src/main/java/net/mcreator/target/item/gun/GunItem.java @@ -1,5 +1,6 @@ package net.mcreator.target.item.gun; +import net.mcreator.target.TargetMod; import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModTags; import net.mcreator.target.network.TargetModVariables; @@ -7,6 +8,7 @@ import net.mcreator.target.tools.GunsTool; import net.mcreator.target.tools.ItemNBTTool; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; @@ -93,6 +95,10 @@ public abstract class GunItem extends Item { return Set.of(); } + public ResourceLocation getGunIcon() { + return new ResourceLocation(TargetMod.MODID, "textures/gun_icon/default.png"); + } + @Override public boolean isFoil(ItemStack stack) { return stack.getOrCreateTag().getBoolean("beast"); diff --git a/src/main/resources/assets/target/textures/gun_icon/aa_12.png b/src/main/resources/assets/target/textures/gun_icon/aa_12.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5f7f7fa113d5d98841d87f52610effb5174168 GIT binary patch literal 6817 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 BRQ3P> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/target/textures/gun_icon/default.png b/src/main/resources/assets/target/textures/gun_icon/default.png new file mode 100644 index 0000000000000000000000000000000000000000..7078e6e3e96720813fb3ed45aa89e70a34f8dfa0 GIT binary patch literal 6269 zcmaKxcQhMr)W;K}5~D_q+7hGoioJJGYHNvAH1<||MeP}*ic+O0KShmFVuTiB5&XS-oM^I?tShb&pppM_uliI@A=$h<415Rau#v`06?Xut7QrR0RM#mHPD@Z z{?xX*>)!$P)wK!$07SX}*MK1vszCt2eK9>Pb@Py--Qvw0n~mrF(LNqh);|(tnxUms zU=rOAz%(mLlq6sIP*9$}U|mE~PB&Myj-dTfj~;Ke+#?m9p8In;6gFB&-!f_Swi{+Tc8JH1h9az?-HHd=Uk&elEXBnN~90{~ufo zaW{tp|J?z=D6ql~65^cs02`7FqC}J#B<@XFCW1~ana(S&Af1?lC<-v2s_S5I9q_;y z*aA=`l>xvtKujqLQE(H&pY0f2ZvaXgONBkf@;H!-(>5H1I0(1vS}YSCkop2HxZ*z6 zE=xZL2*qGxEc`@DxJyG+<9w@dYcE~dhdmh%=nrg{fjmy92LNBn{5#h~Gxn1#U4A4q zFC(Ik@>w}yDCR#rm{ohSG)?`bWcu!G!Yegu)1e#W8RR4F3?W3M+<@zNhmV_?^97x|Ew+?KBY13p{SF^= zRPvPHOulJ;|CPz-*~jb9uA_ftFhh@v=@12x`BMAJ5-*&Z4?@gV$qSBT0xvE?37+=X zgteI0Xu56>Jt_+pX-Q|}LERwMz{25vVDJ5iEP^^|H{J7-QtQCLJ^^mM@XvuncAElZx zTH`$3&6G8|aOg*NK#gpH#2JhDQl&f4wRcVH0}@f}^by6~k|Z=a!A)8IN~95FZKrGF zty#rC$cdF>uEW(d#;J-(?h=(iDwX5T9J&Fb5XhEV!Noq%=dmr}f_d(RaQ*X@r#jkH7j1kxQa9ft5)4s-@L+4xLui?mVWxdW3gNyT1)h zF!+XU{q*7c;lfa5c^g{@3kca#jr02Cq0Te1$*)z-M0Eet8+Wnnk=lrRVC=9ZH^p(H ztD@(}CyPdJ5njJqE!G{s3G%~l^G{2hfnlU1=|)^eu0vp*d# zP?hMeRCazU4<18p-&J(IM*@IWh+yZi@2A7k_^@A!EhfVp#6LgZPTMagExNyQsF)== z@^;FJ#hqOiLhMgIlkB){=}4Zv;x_qUuw(emo$mmb%gS}YuqU0r04LmUK|iq9eK9ZG zF1@~@?gFo?enyNzQRC>l$Ue_hvEJACL#hI6dVy7td|bzw1viQ?diR8lvl?2VcsEp1 zE~9ID^C?>me;Sw`TY^0x`A!UfO=ApSxRhKX;jxS^JI8QT}z7{K%!C5a8Xjc7F z;6eR~HMV73*JYhPK7j9qXiU53@8E1IlWm6-}=OXu$?Xi{o(Q!p(ZQ_k`8@cz1d( zp_8T;Z)g_;6TkN)HdmliG_=MSJoCbFI*9kybQr!zNW19Z6fk!wJ`Z|Fvh70OTKt@y z{Iz#ki^G2$z>UuSP5uIedRuWF^2sdQ)mU3W8c4|ADcf$_d--1Ox=4z+#}7*)@g}z_ z-}M3h)V~`gxFM)nO}5}IxSV7g#iR+^mksYU>=!l%NR^w>22#p zq`wi8pA_Cml%Z8Kzn(MZJ5$7MDMswei6oxn_yfTNQF^9M4vm@l6zNvL1lr?I@^`@k zwQ?d~=6D5+@y-I{SDW;EYKy10M_z4s7g|4dVe!R1uI&k53hU7;d`@Bu{#zyk8w(H_#*nk zsGjoF`Y$Ht!N?BX#|mBM)J9dZP}ZiZ+I`(%J+(T5O!LT`dA1K2_*JYMAV4@bS?xn` zE{s=r9HyG8Bc!{@?8p{Lf@GdNf&E9z>guf%ie?xrxx%$mPwXSo>y66OIRNc;X3T{E z(}&?;hQ|!quBjY2!^5nWvEOTd1V1tjj#2$#d%vhw=vz#EZ5T1C`g&Ff5+|hnL6*Zs z1sc;fxi9#mxOSA3!v*e7F)X@2%GnBg*gzX+N#FWw(g3-(kOHK#uC1P`01nu+!eJ2 zip-kuj0cD3_x|fcZhFf*Nf+}9sn{MP8>xulXKxRu7QD12yRMtnsTUwYPb$=_Tire|E)KfVUTEBCJ&B^YWg#*QS%doQxJbb`g$QArUVw1p}HFz0LpH(*uXKh5{9j?yxaP8f_8j=j~BI*oeiO zrn8DVGbzW}Cs`^4k6ii6pv~Tsu#YNnz7Ztbwb`ddMR1b5v)Y&>e`>*lUsL3ntpyxd zx@Fq+E3wRaW=BM~nuX-IXqpg?5a7&=_l9g!GQW@CJ^ukDw5JM+Qb7&D&NJTby^Z}a zLR7A+IpW&EmKmBmHC;FTV)}R#d0=9h@y(gU*j&IvMSiRPQhrBM@)N6^3z8iY*G1E7 zvdn~RAr0kiLO%dP-!~t+v;E@ep#3C9@Byvh#HST0;=^Upp`4d|jWE}xXw^R24K#ld zz)^c?1pBTkj}YeG+N>mc;@v6qhoYP08V*`1OmvZ=@MD{fbjC1HY``OD zOPPljCa3c%T7^I7@uTnNv5$D(O$<_+sY21;FFq^YE-@p|$PY}oxn~?3=4z{^Hm25% zl>aDQ6&gY1uh5J?L+JGZeu~=&XS1gr%99k~3fXv3ehi9m$4+Nw+EQyJKOtK?6D>dp zbr+%=ct_(x#S(jX=b)&db5X4u6-*e>wW~4hZm3`a_X+60LE?9$;BzaGAk6}4VT;H1+}T$^6^R*OZrlhR;Rn0pKxKL zB>i7yR%`4MKYwci@v?VX3GQD-U!GkkhY5V%bP=c50Sww4zc=pn5iJmZpPVtNaZ>74 z%AS_pe#6gJqQlfc5f9)(8HH0v+;=52T~^gz3MNZ``6tK}p$nT~e4l94*^E=}Ag}a2 zomukZuv#-q>nMKCCodAx1&WZ|lwZTL0v*0kkOU~-v@0wsQ z;>!Hl{ko@#4#MOROTW_{0#B|GBBe#-^&TnxCQvv%(_%8C@knmTsNB98#y@)~d9cS{ zFp=j-`6*8({pb9GA%g>_{<4&{&Q^}c_}Zjqyr;&YZ~rTXg!@nt^`R%n@8^x+vW@)% z)i-rtdOUM45QEs=ZY4-aR7GlO@FNvqRILAiJ>MOgZ^s8NNNHL%fwZwVp zy{sXTB!KDqHqRo_twh{Mm!waODNyk8)5cAVfN6!^%Rl1o(>F1EdjT@!FbwTN`9FaJ z+tZ!>72k6xdJxS|>00jl#rXL=bECnTL*%a0pySU&O2?mtR4`12C(d2LP@cC=30S04 zZ~?s{xNwu&CM&(4{8&Dq92=Bt*Y&F-@pE76mtoOrXohxEZ@QV~!7j z8H)-ptrXUsOO3zKq*pq`yYpuQEX93`ej1bbGD^qOKV?Wr&&NDT6~1l4bq-UX2ZrR$ zY8Dn(XJ_JZ0dI*-c+ARc?BjEBNXrP z*lfo{gCRR?za_6s=uWtKw2rHJW3JDpIzCVBx%#!VZ2e}*;&&;NoFy|cc)fJ{5d6cK z_WO3#D<>^TYQc!69Wu(=KMHd~ek4i_8x93$;Z((&?3^e0xK{@;yL+Jq+Q)*g0Ih|y z$GD1;RE_wEZ-E>ONi!JN23Z>(paGAETLd22z%5JTouWyP!_98*K2y>i z9-+ZVR`7Ys0q43wlMsRj@Gf1-n`kpB{NE!hVT% zU{o+Vhm05L*P`^Mi@vwXEp8pI8w&$H`7qQ)naHCH;iWwf-M4wADk%GcSqzSakc|2KioV#8E=o;o%HLmQW{s-|%_aj6!@<3&!_FDD<-SA=<&~9X9Il57<+K)Wit7 z|FyP=BA>~ujn^)H{+oT_tfH%mS}Bn;QkLuKEd=^KkoDVxovRUH_E#nvC!v!)ZS^tF z4b)PkQw>_iKSZdI$fe+#(OGU|;n(z$_452S2sT1dww>CW189Oy6oJ4-x^#%QHsJwY zQ_ohdU5gYP`Q9mtBNyV(^qaGEmblx89~jvYrV~`{Su;7E9bU&nn^iISSK$+z$^?f4 z^|b2ny!P9uSFaabYkbVcWLH6u4j<$I`t(08UL(Xi2y5PI6H!+x$cf^kC|`XGWEvxO zyVTBM#bZ+Syfm`LkJrlES^89n!R*^U{#fbPR3t}8538?EY`!kyVbJ;ez!(DsQhwVd zCTw!q{HAN%)fnio1j>CtS?H5Bb^3n#zeQ(gvZ!S8c7sO><2t%GR(j^#~SRLHp{!3H0m)yM>-DeLUJkS+f7{{Ep z_lAE-auR}mpu!n;Fk6kAHyo8er?vV;HPS&93|e_t)yxTqMtw-joKNsve<@_Q_0u3d zlfgN;_nUKayVBFE05Ld+0f)`3$YoLVnVf>y_Ly*IEh%3k(a_R-O2@YzcOFw>KbBpE z>q@JfcV+O8W5XTohdzUQ2})1I;L0}T7xG}L(gSa7{?6shu!?5E(E}RVdCedUGBMb8 zW1%9f&P;jTh0GGy?^+?3em|W17iNiBV}{59*~*pLkoGHbH#e#7t$V%lhoXHEQd&YAI3zK_y*Oe!(3$Ji{JM(!G!G^ENXqv9PN9;7c$KA_4 zkJm8OAUQ^`)2tu<$IkG`_08w94awhv1CZGk`IY_9^y(W+ zHxZFaFeJhesjB{T+WwvMCXb|;KuPqG^k4R>g^BAh+8A!Zc}9naMGWHi1a2LhrDYR$ zh>Wx?y@{X+QsxINTY`tT;kdq2L_jfA2p~_(`44cCZP$Jq{{1d;I6PZYA(_7JX(ny;hehDw6_R*FP z!!Gx|t!*3_Ysl<1$s^gA8M;wkTY439gB*0hr5%Qd-?lA*!XZVZ(L5?LSKAFPVR!t` z>)@rma*a>Hj{uQ>v`*ia&szmH7)eR0^Lua4rwm0;8?&}nFk92iMr4SZA|4!m{rXEn zik%sTNB})0)z2Hz#QV@e$NeVhs;AvTMEgCs!qB}Kd>}peH!#IxmH95E?b^LRVMb*w z7P3?f%6fnKYTNoAQ)z%)RzEl7=-P2OIb>P=vIzuiltv}@&$m9qJ)HBQxKc1_