From a32db79a0b8a0b98d6205e9b53072fce7f16e0fd Mon Sep 17 00:00:00 2001 From: luisc Date: Thu, 30 Dec 2021 08:27:04 -0600 Subject: [PATCH] Added solid render option for bodywear --- .../npcs/client/gui/model/GuiModelBody.java | 2 +- .../noppes/npcs/client/model/ModelMPM.java | 27 +++++++++++--- .../npcs/client/model/part/ModelBodywear.java | 33 +++++++----------- .../64-Textures/newskins/Skin_Template.png | Bin 0 -> 7685 bytes 4 files changed, 36 insertions(+), 26 deletions(-) create mode 100644 src/main/resources/assets/customnpcs/textures/entity/64-Textures/newskins/Skin_Template.png diff --git a/src/main/java/noppes/npcs/client/gui/model/GuiModelBody.java b/src/main/java/noppes/npcs/client/gui/model/GuiModelBody.java index ff96f74b0..89a5e1f96 100644 --- a/src/main/java/noppes/npcs/client/gui/model/GuiModelBody.java +++ b/src/main/java/noppes/npcs/client/gui/model/GuiModelBody.java @@ -12,7 +12,7 @@ public class GuiModelBody extends GuiModelInterface{ private GuiScreen parent; private final String[] arrBody = new String[]{"gui.no","gui.yes"}; - private final String[] arrBodywear = new String[]{"gui.no","gui.yes"}; + private final String[] arrBodywear = new String[]{"gui.no","gui.yes","Solid"}; private final String[] arrWing = new String[]{"gui.no","Player","Type1","Type2","Type3","Type4","Type5","Type6","Type7","Type8","Type9", "Type10","Type11","Type12","Type13"}; private final String[] arrBreasts = new String[]{"gui.no","Type1","Type2","Type3"}; diff --git a/src/main/java/noppes/npcs/client/model/ModelMPM.java b/src/main/java/noppes/npcs/client/model/ModelMPM.java index 58f35c2bb..ac788cd81 100644 --- a/src/main/java/noppes/npcs/client/model/ModelMPM.java +++ b/src/main/java/noppes/npcs/client/model/ModelMPM.java @@ -51,9 +51,9 @@ public class ModelMPM extends ModelNPCMale{ private ModelLegs legs; private ModelScaleRenderer headwear; - // private ModelScaleRenderer bodywear; - // private ModelScaleRenderer armwear; - // private ModelScaleRenderer legwear; + private ModelScaleRenderer bodywear; + private ModelScaleRenderer armwear; + private ModelScaleRenderer legwear; private ModelTail tail; public ModelBase entityModel; @@ -160,7 +160,7 @@ public class ModelMPM extends ModelNPCMale{ headwear = new ModelHeadwear(this); legs = new ModelLegs(this, (ModelScaleRenderer)bipedRightLeg, (ModelScaleRenderer)bipedLeftLeg, 64, 64); - // bodywear = new ModelBodywear(this); + bodywear = new ModelBodywear(this); this.bipedBody.addChild(breasts = new ModelBreasts(this, 64, 64)); if(!isArmor){ @@ -539,7 +539,24 @@ public class ModelMPM extends ModelNPCMale{ ((ModelScaleRenderer)this.bipedBody).isHidden = entity.modelData.hideBody == 1; // Hide Bodywear - ((ModelScaleRenderer)this.bipedBodywear).isHidden = entity.modelData.bodywear != 1; + ((ModelScaleRenderer)this.bipedBodywear).isHidden = entity.modelData.bodywear == 0; + + if(bipedBodywear.showModel && !bipedBodywear.isHidden){ + if(entity.modelData.bodywear == 1 || isArmor){ + ((ModelScaleRenderer)this.bipedBodywear).setConfig(entity.modelData.body,x,y,z); + ((ModelScaleRenderer)this.bipedBodywear).render(f); + } + else if(entity.modelData.bodywear == 2){ + this.bodywear.rotateAngleX = bipedBodywear.rotateAngleX; + this.bodywear.rotateAngleY = bipedBodywear.rotateAngleY; + this.bodywear.rotateAngleZ = bipedBodywear.rotateAngleZ; + this.bodywear.rotationPointX = bipedBodywear.rotationPointX; + this.bodywear.rotationPointY = bipedBodywear.rotationPointY; + this.bodywear.rotationPointZ = bipedBodywear.rotationPointZ; + this.bodywear.setConfig(entity.modelData.body,x,y,z); + this.bodywear.render(f); + } + } ((ModelScaleRenderer)this.bipedBody).setConfig(body,x,y,z); ((ModelScaleRenderer)this.bipedBody).render(f); diff --git a/src/main/java/noppes/npcs/client/model/part/ModelBodywear.java b/src/main/java/noppes/npcs/client/model/part/ModelBodywear.java index 21297542f..b11a90d20 100644 --- a/src/main/java/noppes/npcs/client/model/part/ModelBodywear.java +++ b/src/main/java/noppes/npcs/client/model/part/ModelBodywear.java @@ -10,54 +10,47 @@ public class ModelBodywear extends ModelScaleRenderer{ public ModelBodywear(ModelBase base) { super(base); - float scaler = 0.81f; - float thick = 0.65f; - - float x = -0.10f; - float y = 12.76f; - float z = -0.5f; - - float z1 = 0.27f; + float thick = 0.50f; Model2DRenderer front = new Model2DRenderer(base, 20, 36, 8, 12, 64, 64); - front.setRotationPoint(-4.588f, 0 + y, -2.302f + z); - front.setScale(scaler); + front.setRotationPoint(-4.53f, 12.535f, -2.52f); + front.setScale(0.85f,0.8175f); front.setThickness(thick); setRotation(front, 0, 0, 0); this.addChild(front); Model2DRenderer back = new Model2DRenderer(base, 32, 36, 8, 12, 64, 64); - back.setRotationPoint(4.588f, 0 + y, 2.302f); - back.setScale(scaler); + back.setRotationPoint(4.53f, 12.535f, 2.52f); + back.setScale(0.85f,0.8175f); back.setThickness(thick); setRotation(back, 0, (float)(Math.PI), 0); this.addChild(back); Model2DRenderer right = new Model2DRenderer(base, 28, 36, 4, 12, 64, 64); - right.setRotationPoint(3.9425f, 0 + y, 2.29695f); - right.setScale(scaler); + right.setRotationPoint(4.03f, 12.55f, 2.55f); + right.setScale(0.96f,0.82f); right.setThickness(thick); setRotation(right, 0, (float)(Math.PI/2f), 0); this.addChild(right); Model2DRenderer left = new Model2DRenderer(base, 16, 36, 4, 12, 64, 64); - left.setRotationPoint(-3.9425f, 0 + y, -2.29695f + z); - left.setScale(scaler); + left.setRotationPoint(-4.03f, 12.55f, -2.55f); + left.setScale(0.96f,0.82f); left.setThickness(thick); setRotation(left, 0, (float)(Math.PI/-2f), 0); this.addChild(left); Model2DRenderer top = new Model2DRenderer(base, 20, 32, 8, 4, 64, 64); - top.setRotationPoint(-4.588f, -13.0f + y, -2.29695f); - top.setScale(scaler/3); + top.setRotationPoint(-4.5f, -0.6f, -2.525f); + top.setScale(0.2815f,0.315f); top.setThickness(thick); setRotation(top, (float)(Math.PI / -2), 0, 0); this.addChild(top); Model2DRenderer bottom = new Model2DRenderer(base, 28, 32, 8, 4, 64, 64); - bottom.setRotationPoint(-4.588f, -0.65f + y, -2.29695f); - bottom.setScale(scaler/3); + bottom.setRotationPoint(-4.5f, 12.11f, -2.525f); + bottom.setScale(0.2815f,0.315f); bottom.setThickness(thick); setRotation(bottom, (float)(Math.PI / -2), 0, 0); this.addChild(bottom); diff --git a/src/main/resources/assets/customnpcs/textures/entity/64-Textures/newskins/Skin_Template.png b/src/main/resources/assets/customnpcs/textures/entity/64-Textures/newskins/Skin_Template.png new file mode 100644 index 0000000000000000000000000000000000000000..0d6751f525f011b13453f37360d47023108be341 GIT binary patch literal 7685 zcmbW32Ut_fm%wj2z4wmvE=m`Ph=7O)(m@cB8mZEIp3)RV1Ox<>ND%}Dl-?svRGNT* zfOL^6289q>vX}REeQ)>sw*4pHocqg}Gk4CJGk0bvpDD8d(*->PJpclM0O!FUK$!zv zbwe<&0AOSUNCN;s1;8OZ00JZkShXO$zgZ6=3Bdl;L%~Kx0F(d|STBJURB#&r0Brd` zp1zJ4?*MskmjEFp`IGV|0m?j`wSkU~gNdoJp20<3&;bCTJAV=5?E?kh;pH9RXR3cz z$lAtM2-Oe1nHoR>iU8o~ok5!;pM9OZoR7E@ET4)Sr3>HN%1bwJhx(?jR>55E2n4sZzp{R99VAKy?vjGKFakff88kfOS}n$UTd zU{9BT067y!Cl5zIXCWOQFJDLRPyqNV=A&K!%hB8lfs?GFsIH+)Z2WEY zKf_UO|FZaX`Olm|IC}rq{oVI(oliahsBMFD^WbmY^(+9Wiv<9#iNAHCPXT~21^{XY z{t*wy(Ry(Y2=LWVPzVkVmdCg_$sbMV@AAJI{I>k>;UDA4AC32W?u5>{xH<-U1_&KZ zs*{hWPoSTWzptZ{i;&!ZUBv%#$A7r>4?kp0U0hxKT)e@dEWuTV@pc2#?d^;S!1#Cz zVZ8sl4F8MW{^7$B{XRfY8_K^A*VpUpd$vqi6emkXaGil4d4a@01-eEkONKt zs=z7W44?~K0E_{1zy`PqI05c}7vKj30};S2APz_b9sub;Hh=>PffAq`s08YOW}ppt z3-kaVfe~O5m<1MrHGlvRfqihpL_z2wtPpO9AVdrz133XvgJ?l?Ar~R05F5xfh#SNk z5(tTaL_-oGsgP_)9;5{F8qxr1gS>|fLdGF;kQK;J$Q~31rGv6T`Jv)a1*jTS8)^tO zhuTBkpf{mm&=}}_=p$%8^d+t(58{`dSIPxCy z39NLt2<%kME#i6oLFHv~Z5NZ)cqN1e|q&h*RM`cUpO?8_p zgQ}FOm1>A;iE5vkiCTtjU4Vqgtk7&wi zx@f-8{Gz3$Jw~fedzltP`v>hK+E=viXy<5m=~(Eb>2&Dq=mP2P(-qUbp&O_BMNdyJ zPJf2pmOg;~K79#&2mLfXiGh_tp22{@nE}g?!%)jG#IV6g%_zpG&3KhDj4^|;igAE( zor#)BoJohtktvEPhpB;SjA@&hm06M5nAwZ@9&;)4d*)>p6pJ{EE{iiu3`+q^2g?F0 zj8%kHht-KSnzfL%i*=C=$tJ;Oz;=Tzk*$oapN+uI!mh+_$sWRiU-ak z&2yP2m?xK~i)WpejrSC<6K?`|2#tuEh^xp$k#-S+sGz8kXoTns(FrkXF*PxFu}raUu^n*_gCDD>MCG#aeNg<`wq&%daNPU!sN-ImdOXo-r$UtROWH2&MWCmpsvg)$l zviY)Oa&&UqazS!0(MkA=v1*0^hFPFqFd0(nC28<1i(~PG~Bus9aG+jnsHo2U0`J1Vt zX@qIF8LOFtS*aP({H%Gh`J{!UMW98yC8MRCWr^jE)j6wFt66IW>qzS!8y*{sO}#D3 z*3!1fcKeF%mGmo%cFJ~fcBA$Z_96D~uku{=yxQWx=-}v3bq#UN>RRcw14m=We8=tU z2G<{7CphUiWjd`npK*TZyy9}&CDmog^|WiM>$2Nvw=}mEceHzk`#MGkla1NDasCGG z#*T-vN3jRR)5^2Li^}VoSA#c;w}*G9kAP2z&!Df2Z=CP!O^uuBHwk`*entKee|!J> z05#bD}s%|F8-na$Mah>w>)n3-9COh_4Zb@Rdizvf6N~-3$gmKFX9;D{Nl#q zPsQWz!0%x0^xr*sH|s7r!8zeW;_<|c#DjZI_dX;kCOt}`+;_d-pRAIc`vCdC`@v`m zI^}sPb81-XLYh%p?L(o52@ki@9n#-tC}rR>X)*&dXCGaBRG%f9^&smY+dX?E=WI^J zW4_0CAMZSIelnDMCbt~Nk4wbuJ;glzoTr~xn=hW9QGhH6D)?4tS=jwd?O90?Pf=pg zVX=4d>~quSoh7OzC8d0&$uFQU0$;4Ww0rrn>|9xWxm8ERh3tZRX?s_tx2eb)P~j)>fGyQ>uu@>8!j}oH=b&&X_9X$ZWeCNX<=_kZl!6B zX{F%9@Y`>E->kQ}wJo$ev`=SGl*QPr0wAU!}ixKy{%0qx#3jLCwL|A@oq&@VVi)pA0_rj9eNS9JLtzJZ3jG z``P*P^0?>t=0woM{^TED5ML6en5HtO`KI${q-H8+Rc2e}&dv4Co6S!yI4!Jw_5XUX z81s$(TgH;$Qpxg(<>nQ=m5-}eRu|WN*Y?-rzB7M+ydk+!{o~A!UV=4Yano;;^7Gy= z?q9`QN?YyQCfn0QFXH}A0*RaSd{=F^d(UcbX+QV?b@1p=>adY)Nd7|cqEIN4fDQl! z&u0kaNJ5Va9CjoTa5xN(M1Y6cQAJTxffa>Bf=3iJ%~1h~j+Tb*=+Dth{^|-vz+ea( z6cY8P$^T1G-T=&0;HBdX3?d9bnISM{2&EGc1n)G6Ki&I%wShoka0C(sxt#pOv72lsZl&Z=iJX1i#%?-D5IuR_?>03J2PYRd zkC?cGq?ELhvWlvjx`xgsSE=7xVjU{G*KXjpViY+U@E zy9udj57RR;A7y3d7Zg4#Dt=y4T3J6oxIcZ8@zwS3k!y&3PC$@PM+MkjA-vYb+FGcn{u)pJ) z0O(*4FnKU$01X@-RLpHy&(@>e9?qR7Gwxtc0wZqM9sxLjBbxH@Uh}?F&n!Yb`K2rc$^*U0^+K)Z=u*YXM zbAODYvm=@!w7%CK25zvE+^%BTusyi_a0=jszDkfFyP|hc6u>Vw>f7aZ3h;BEJVgN} zqq}`}GqGQM4m+{jSQ-l8;&3-t)kw#5Olfj}!Ft@LIx)1whW%I3zZF;E4{AI z9X1%|SnJF--=TJ!Q!^UP)#}TmUbn9y{3K{tYA@xEfiq33Pq;z)|8$h^icpp3?p3Y z=?exK46<6U9Hc{lq@{^!DLAvjA~YG^kYjJ%IRmtN&8)zB3sUJJ)N;sbt;nydrJc zQuED!Vr*h!<||fhXh&_YUtjGYEr$h=+``F>pSd-|h%Fx*%_jyj1aKZYhKz%ewE%umWR*LWCaAD=6nD&cx1 z_Nw)}@RXFX1Z*2)j0P@Y*xZZQmLD=6+u6_9>mV2)@Ii(sxV;wleD2jRzlUE!8}jov zDrzXXOs^6q{dRiMRTG3Fv^kz7% z1EUqRRJZI#Swy-F*~4s)ak-*>mjcjtXx?|z9`d#hk*VI8Ep4zJa4zP^-f>V)^E#!_ zwpLhG_etzm;m_c6?-!rG=XH(5s}jBgbW!Pt%vMVW3I`fEg~NJs+=9Y9xZvvWlDIT% zO~qSGcC-TX|m?$n1ZUI8lE+W-wZ+br~vQ`?MK2=p$KU{u{=T?$L=*7++gC9Ezaa{ zI;@AgC0eeXVNbW?KwC6ow`*9RUl60p|i*eqO1ds>CpriQkl`2FHUw;$|Eb5b2u zWt?g39R@0y$75UH^kX}mL!FPySEfZ{T0~wx3n&YA`_Uy9-qhWQ4*x*d@@uB^Ezi%C zxv?kbypdkMe)zR4(z~hP3*LDkS&$j;)FjBcnvGlEEn6L}!(As2*4JZR77RCMZIpFC zdOP)INR5lnFW;C5w00p_?UKny3*YNXnMWT|nfrgTkkT%)jY zw1>L2``c9C;)E{I-Em)IBc&4G!Yy+P_a?$MR$A@RNS?CUnp{xY&_Y!(pv{^iH{E(TV=s9wbl7_jtYy+|Zsv{g#15G)Gg`?9*+babH$5%*HgR65KG||#rbl|( zefW+|hPV^Ql(ep5mD0r>rryCU**WF@1MS27Z9Gqe;9wNw^D_E6VIVG0YUyK!{SBhW zE!Hpgy(JpdrXOtdC;5%qZM&st3Zxr!e%K99gx6}tkWOx1X^TRTycUe9Nh!+bJ}K9m zEZ5n3J@&ivl|v)xg-n*%WuE$$&wZ6(5Pi~ zw(ZpNgz?njBzyY2B3ITYBhiW4otk`{A;xudCrl-62NPj`n129S@PXWzK*ruIRe4>4 z3F6oZYZ;6E{!}ATzT~;XvCoZRkZ%mx_ zu>?<*Kgj(&OYKSM_MZ`oBQFnhpB{*fG^^*Yt`${p_LNSOtU5H{nf?;Q$4)tss+P4@ z7C-0jUy+qEmImbp-nP&-q)u`l=lUCa4h ze-lQgv8Mo3ZU@2+5DM@bJtw%yvwWNabX{g2nAoOw@ELbJ{Av;!N*>5rQrAAXh?8F+ z(jAr@xb0INC~l(P!U)kuo8Hm$Q-&8`Val3=-F$8q+nrN}@fh7mRNCClb8|VN&vlIN zcH6D;3NMA1;ZY9h2QQR@DjS?@nR6I*_>%$Yw97s}H z;C%yerixHrP#D#3mCIg7^1zhX-$dk{=Pq&zJpe!5 z+n(4qgY6$AG1sO|-u7v!!^ahxx+SE9pY3C&!-4dn)uCH=w}{OK$5K^mvJyAyr9ZUM zaNQ9~>z)i}Bx0Sgt2^r0QJ%y*_*#BWpT$-jEWWGf>+}@Qia)sT`pit4&7%(3c614G z_&LV$)-|2zw#Lmtc#xJ5PvO{J+^f7YxrJD-`3Ft(Cn7wp;IsUN&%^Mqu;1tA9Y|so zcOydQ1UVy+;0}|z--#P{8H_N=c-_HAeN)s-SJu}~Kag&7sxYOGH`GU`PHOww$y1^FFsH5x$7!2Zc-ManKWM`J8T7CSA0h=419Jn+>C1| zj~cLTt#Em$U+r$ksnE=*A?UGp(A8J#7L23!6yBWTN3CDwCiFkk++*n}yV~b_EIhFxT|!&h z#!zzKsifY}dQsTi#Y!^L*yBb-NobTRn)|-nIzc){q(U}-YP!_abWkS9&~kLg_C-V$ z;pDu+EltkZ9|>Blo1gZo(S+=XQ{;Dp8%j?!WS(ShdhobDW6E;Qm3x5y%p;y+SRHlE zk?)bT@x&z9PwO~&n2aXj2}6-KTgDuu+Wjk)_Q97DMpp%EddC=PyV-t8Y)tFjJO1E@ zIm1~FNqnAU&xFI?3Rz!ilg;IiB(W&xFlCp?)QDssE=qmE$WH06o5%& zEIabl{8+T6gNs0NQJaQcM`2Ht{L`S+c@frXtEL5EyOUk7YmvV=lMV}8VwiA3yo+5&BCPM8{;3 z(sNorj=T_Swyy~b94Xk&vP|sI%bwmjpa8vl@v}bNMhdfsjpcc>JxP`xSYCGl(buW` zHeTss!_M{M5@vLWFltSRLKfa!_=Ejb4v%pKSLO13|n%nhJ6C*&%T-H zX8%|