From a33747747d957a5ca568e032d1cf6654dbb86e5e Mon Sep 17 00:00:00 2001 From: Priklen Date: Wed, 4 Nov 2026 15:28:48 +0300 Subject: [PATCH 01/18] redraw default player --- .../engine/assets/textures/entity/player.png | Bin 3447 -> 1679 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/crates/engine/assets/textures/entity/player.png b/crates/engine/assets/textures/entity/player.png index 176b73a6878134d9ebc3aa1a73f2bddb8e8ad3d8..2b2fddfe6ac71f40f5b7f55e47cc8562b8b88fbb 100644 GIT binary patch delta 1663 zcmV-_27vkZ8jlT-BYyw^b5ch_0Itp)=>Px*Nl8RORA_+W#Fs1~aeN5vA?YFUp*VpiP#Q{8=h74kEiFC- zatJP=w-RWfP$;3nC9H5FShNz-%=+nRcDIMw@9E7*D``u@u7Cd^X6AcOGw=U>|L^gh!zAcD~$ehM((VzX;3>lTta1j>qg_ zZ!l*2WTVX|8-Hy8v^oCdVGajKl-;}+D3!Zwq<#=)rhw$Vo9}K>+_|%Bop9f&WndJ2 zw-_E*%oRRY?&1t7iUMthca7{_%#{L4e}DOR^GNpzo-ERhs?o6}pX&Sj z(GPnA!rs7=k$WL7Hn)8WVYhx92lxj?21bj#w*D=Y%40G)e)XNdT1AM8+_vee!X=;G zL>(nOND5ol339!9>2cKl#>TxWmFMcE$AJk_57NygrLGAD^eEwF_xS)X{_yL(^~#Tc zgzTB;u77j>y_@z==ij@@ndh!shy3!TAMo$m|0}yf8<3l8->>|KS@w5V9XF5B?QC~8@F0)+-jw4 zy-tWRLxN&~YwPEd!s!%DLH0YxA^Nbt6EtRr*MBcRi7`VPRUs%&064X}LNb4tvIF)% zQZs(~_RRxjeq6`{jLGjC-~Ig_fWMfuv{TFP15jBi1MrJi-&DN< z{-e7+f=U_P?eX^yuS|XaKYz8p=cZ<_6H>00fFv+qec`u`Gsz-;x%)^k7 z76r`0we@p+cK`Re_rEt%cCkJGF6{2NP0wkUUf^5%EVv4&)JiD@92OHDplU_p?E&%j zfXaOd@p+;@4|F$qPf#hR2+vF2jj}OAx_?_C-K~&Htwc~PO!?*^vBeP+NUp2{KxO;ZiT7& zZ+-AD+k$21C@oZ}9M{&*r3i}y=D7!W=iv=pR(!>{sXD-n`eS!Ar3&f8;W9^gXUwQS{0M-#o<*e;6Wd0xcyE?Xe zc_BZkND0K|Iwu?LP-}u9AP52g^nd=dQhB?7kbC*>kKecsz?&~U>p0}_RsFE=ODAjO zi;E1SZSuuMJCJ<_SX`-bPh-W74WsR`7aB7p2m&@YH^;`*1o;{>WNB%Me!mZl)KIV2 zF&_=boa=Ug?7iC_=XStrUwPN=?6TEVsXS(Nd}k={LRFLPwV@KNf}RG z6ck7K+-kOIHQUw+?o}W~PZlg>UBcCBm1?zW$K0!s)LN(1qP0$41m#`ao7&)om?@vsl z&l?_$Jm*S(lBZ=nJ3k9IdZLDTAdbp@cM|4_@I0yD--u39q{Mmksg;_fh13Or_j!OQ z3i;;XKU8KcLJFF60RO~U5pCiQwf<*aG*C*}XNG?@lJx|3A$KX`ExfG7%`;WEYj zJddJ~=*~7DoOl2tk{|GBE&al7w@al`NfD6yZnrzO0GaPP!JWT+z`}c-&;}<9_k1u5 z{xFW|_IrpUvJm?)j#JNB5?|yqj7POxO-OFsYH@0H#a<7K{{cx1xtz3LVBG)!002ov JPDHLkV1nhZIG_Lk delta 3445 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 Date: Wed, 4 Nov 2026 19:07:22 +0300 Subject: [PATCH 02/18] redraw iron armor model --- .../assets/textures/entity/armor/iron_1.png | Bin 1774 -> 1024 bytes .../assets/textures/entity/armor/iron_2.png | Bin 791 -> 323 bytes mods/base/src/items.rs | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/base/assets/textures/entity/armor/iron_1.png b/mods/base/assets/textures/entity/armor/iron_1.png index ab4672c5a26fa4654ca74f0d6ae3d37770375b85..328cd145cd08ea4d63bb1388d121c11df8c04957 100644 GIT binary patch delta 1003 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 delta 768 zcmV+b1ONQP0+$AmBYy(kNklPeq!_a1DXTR-<6T-@ckAII38yOj~$;nB3d3mw8 zBdlDgudlc6?ryuexv|gBPm4Q}l?&K@e}CT|A0I85{PuI~5Uj7SN3XB1iv0cky|uKo zC=H&To~*gK*%FC_=0Olx6sbJux2C2ht|g@OpbzrR~gPmjdt z?Cg{aPESv5Y-}tRH6p~~2+-HpC$epAZL{DwX;Z;r{-9J3Bj* z7>K|e!ESGFEf(j1tE(%uJTCGY;@8*LN(mxfEEZJBO_76y3zV%e{v^0FhZoP}gQ%D`p)R zQfoMjEq^X922~eeV`D>q+rsHQ*OGoQ+NmEd@>h0000 Date: Wed, 4 Nov 2026 19:17:53 +0300 Subject: [PATCH 03/18] redraw gold armor model --- .../assets/textures/entity/armor/gold_1.png | Bin 2374 -> 975 bytes .../assets/textures/entity/armor/gold_2.png | Bin 994 -> 324 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/base/assets/textures/entity/armor/gold_1.png b/mods/base/assets/textures/entity/armor/gold_1.png index 69129fa9a9bc82fbcd78748c6b01196f44552588..f2c9dc0094614c58e4338d0b111698e13c294605 100644 GIT binary patch delta 954 zcmV;r14aDC63+*aBYyw^b5ch_0Itp)=>Px&iAh93RA_(>jGqtwr?4 z0?}c6Wd-}){N|1V;3*K-=;)MC_lA{D=9wpBL{@8Qkh!uhp9fK2KR^UWDJquV<$z?IR3xB-Z1opm|F%&k0u!CW6T8Cia z^8_OU02nndaR|%)jJza18Af-3y()le_Fda`AaM+ZxjPVyPgD0-JH#-L8V-PGucC8+ zupv&q0e9{LkJt4&Uiv{q#la3xECH?)6oLgjtwZcpfq#F1iAlOZxen0!?%yNNG3J+p z-?Y!j0Dn5zXJ(H#i46ewJ3Q9`o<66Gkgy^8U7)fHtSkYC$7BRqK~`Gj#r%eYtIK7w zHx&c)IwZL3kT(ECH)?coT3Mp8iAgd*n8*D61>C+D+y0bIvBvG$RE?Zl*?W`jhb zSOOMbx3CC4O;UzwT{lUcXA9MeUZ%tbm|qTN?&;ZJ_LjXt^^CA5cjh@9P&Q{U-Rl6K zpR9|Yzkm36J-qt}G}gL$66E+XX*F4JPJqRdSEkf;hsPf6I>1Ta3jr3E74LV+quzXs z{(tsbr5-8Y+c^l6N0$N+tmXWarH+Rg#C1qePJWyN!rmAFa`|T4ANzq9CTU;4>t%EH zgyDe7oX!J!9ewPNbP_g%`py^iaIv~!#1jWQUj1es%{JXBqEOkTzbi{*MBT{)X5K0H zB2g&FzxlDS>^e;IeAt6%SRxWO1UE>0+A~`p^j(>J%LCH6>6!4b)a&kL5p_N0@ZnI1 cYe}=hf8Tt3ku+hs+5i9m07*qoM6N<$f;d6X3IG5A delta 2364 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 Date: Wed, 4 Nov 2026 19:17:58 +0300 Subject: [PATCH 04/18] redraw diamond armor model --- .../textures/entity/armor/diamond_1.png | Bin 2349 -> 1079 bytes .../textures/entity/armor/diamond_2.png | Bin 975 -> 338 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/base/assets/textures/entity/armor/diamond_1.png b/mods/base/assets/textures/entity/armor/diamond_1.png index 96a618282112dad1561e7c122930a2c0d4d77172..b0e92a2ba33586418d662ce7269d7de9644d1df6 100644 GIT binary patch delta 1059 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 E0M9dl#sB~S delta 954 zcmV;r14aDO0?!AKBYy*yNklmQc=Q#tUq@<*zq@<*zq@<*zq@?`c5Pv%tD&Krzt%+ex1fdju zJ@&yPd-@5vb0O}8m>RF*#n~CyC_=v@A6dv|aAtfOQfa6{0sW5Nxezs*n7{HZjPJvS zUGzJm^4*s<+G;`>c-v_?n@ z^2nQSV6s}_r+-eu_wtcfad>iq0~ShR=9O7Yy-?-gBhSOkOEZ|Pj3R1!=yfy&+-WqB z+y5AZb|AEdzkV0)&>)<0IoXuYC%c7!Q!YVfT(}N(k43K|<8~V-hesZiwcygG;6Hq3 zgk8W|3+1|)EAQvzKuSoh5PI7W+oqS1Pzs;@@jDFlJb&9@();IDmSK$nCCG#!KEJcZ z*GL%OEtHVmSLS5&I#OtbQ^SXF>fkUa88VZB%4AR*sc^t5pU1+JPvP{~1SiD!0qV^L z{PlI1KF|PZycRD0b_=bh2iplb!1l%l9O1G9M4MYUe{C6`{JjQC)e##6_ck87K(C{z z+=+T?3x9Dpgf5j(8?EB((htx>gBwf8c3cy891=>m;LdM6D7) zX0s5P4B}P`s#rj@*@Vnx5&HpzLxa^oVyj`8++C^UoAk$ZA%uY0ZY9470=~5J-ibZ6 zS#fCbf+aCykI!ZyU5CY;1kkivoRGvGHUBAo>VL6;%;zAaLfr0PqB_RHc=gAhd1jb> z{WW$B5>IlB+T+jS1dq0u?$ssV845a-0cB0I@f&Dga?;ysytWwzjtMyIiGaQHtN#l>z9 zs9vdC<8AYcQ_?m*mp%0~wGa(j^r7~maxcPE c+|w4g55gs#y?w*2BLDyZ07*qoM6N<$f-Dr`RsaA1 From 820f11a5b10f88bd7f8962906fe4387ae0e99e4a Mon Sep 17 00:00:00 2001 From: Priklen Date: Fri, 6 Nov 2026 18:02:03 +0300 Subject: [PATCH 05/18] redraw leather armor --- .../assets/textures/entity/armor/leather_1.png | Bin 1991 -> 915 bytes .../assets/textures/entity/armor/leather_2.png | Bin 849 -> 409 bytes mods/base/src/items.rs | 6 +++++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mods/base/assets/textures/entity/armor/leather_1.png b/mods/base/assets/textures/entity/armor/leather_1.png index 7248c13dd376142e73511f5528b8e9cefd6a54f5..c22306ecbfe030d9203dec5ece8bd1821e498e28 100644 GIT binary patch delta 893 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 delta 827 zcmV-B1H}B91JMSMBYy)JNklU861yZC) zks?Kk6e&`qNRc8%iWL7FtkZ$V_sS;c+UP|I;>6(jn=fbP41W{!>42*h7K#P5f(Qo< zAHxoHCSUANB5U7sZ7GYO6Cwx`3_28lE?>$Ed94&I%YVXn-o^I5FB0#?2IaXiY*de= zR7l z%H0-Hq%}I4kqJ~p6ennQLy&VK%YSDnG1$ZyNj&eB=Ky%|cJo5BtZ8)bK34lLcWp7g&(#K^N&+T_b^rd;cllsm z^M9}I%LhuwFp#!MKI`9V;vMDLaUsMrh37eFwR-To5q1um^3sJ;L40R@t0v@EZ_c9D z=wNmxkIm|_c+S$50$zXEx=8N*1gyO}-$v%?gMURsFPNV6U{~srK$Z$)on9;okW%7i ziu(-RPZ~>)FJ_`bw%90 Date: Fri, 6 Nov 2026 18:27:58 +0300 Subject: [PATCH 06/18] redraw leather chestplate --- .../assets/textures/item/leather_chestplate.png | Bin 333 -> 392 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/base/assets/textures/item/leather_chestplate.png b/mods/base/assets/textures/item/leather_chestplate.png index 200c2d14ed457acc8c10b9e3db7a6185ba94cea9..8824efeb6f72576090f8391107e49e60a143be39 100644 GIT binary patch delta 352 zcmV-m0iXWO0*C{UF@HiyL_t(Ijm47BO2a@9#(yaV7ZTcqLIo=|^;QbKN=1BtzJ*WF zXYmPqi#~ve;!TRRc+s>NA%(y;B#@lyA!N-zJqgZbXLjcMX1>{l|289YW|P6boD5U~ zKuaD}fY%T2h9;Oz2K$Ti(?Y@Xi_69dbUd97wSRa2MxYXIR)3#Hv&Gy4J<)Q?Y{_K{!!00008W|*nby7S+?;r;*n9&g~*>e+o0>(0hnF4q9; zHV4GOGeO!cd=DjS^mHe{mKb=*vI5}!Ux63blhZFj4Ue?k|rU-_lQPA0@3FwerV1Hbgpx( rE)qCbP_jn<1s?kiV2k>1){XQFqvdq@XxK^Y00000NkvXXu0mjfsqB$< From 56644ed64b42cf85cb5794432b4369b7ca1f94f6 Mon Sep 17 00:00:00 2001 From: Priklen Date: Fri, 6 Nov 2026 19:25:32 +0300 Subject: [PATCH 07/18] add pig ears --- mods/base/assets/textures/entity/pig.png | Bin 1724 -> 2055 bytes mods/base/src/items.rs | 7 ++----- mods/base/src/mobs.rs | 11 ++++++++++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/mods/base/assets/textures/entity/pig.png b/mods/base/assets/textures/entity/pig.png index dfd1c9f8b9dace2b227ac2bfd5e988315fa275ff..2ecb6b96370bc470cfbf7484738e6af9d3d6df96 100644 GIT binary patch delta 2042 zcmVPx+!AV3xRCt{2S-XxcM-^T5?CQq{fDky~ z2aqg~2>1siegK3Z03i@0Jah#F=%$V=xFWE?A|~JyjF12!0s;aP*pUSm(e$Iby1EEP zYrA@8?mc(>x`Wg!8lBUpt7`AH*Iv6u;R4=${YgnFK`9029DnwG$FeMFng-jpp=lbV zl(20Zj4@D3p_Bq+4EBA;C%*bEb!m+k34Q4Sr4+VpL(UoVJR|2Uhd0JxSr%xm;l0Pc z??@>D0Ah?E`Q|?iTnxaz?@&siX&Pv)582-L9oAaJ7@?GcwHD4fXsywxzBfg((jm7XttQ+qPlfcL0Fa8tb~ElmY-S#vp`% zoHI%(P)fmjk9A$4^+kfca9j+4)*4DF5kVe`i~z0!v~3%dQW6Mjt$hEGaWO^As!|He zvWN!oaMoHVrJ%JI^>@xmP#!v-s|&CVT5Dmg6#;CTMt^ibYmJ;Ua?Zk<{|Bgl|K^t^ zr6g(}LO>}6`@Umc*Tcb;QkbSm{$?9A#-NmfrfIP6y98ia7Fnoi8swZMcx2J1zW$v< zq~3Y$)j}`9b(Uq3^_+7U#}URDY}rfX9k&_dh^B@SZfb;t+mFsZCI8Cr4*!;4$9As zlU2*Iz&R&nlykm2D_UcoXE^8JoD=3SyJRd|GJk{4l4K&EM}##u%+|%lY8rj%(PP=H z_a4qUy!?YlQs>rMIV=yyjZqg;N^s7hlp>!!?eI<0$U5UVBE|@7?IAfK1aY7AC(E)3 zgUEu50pLri0W5`_vn=qZ$B*E>N6s1Bwjrg2KmOt;QX>2uxHd#7B?%joYXe6-gTX<7h{w%W$O(gKx>U@nl1-`wBh0FY;luHDRFmH`}(te-w*Xh z2JxT_8b9OT>$=|BP)Z4<6wLE1YtV87fO8J>Jd1|#dzK^Hac$O~8Gw|Ms67`Xok^`y z3Sx{1AxKcX_psI;4n~!(TPFj{0P&qM#(z7VV$KK)*G);%^>tNj#fVwPM60GM^3Q8&H`yK#< zDf~XhDEnfId=_r?$ai0VQkG?rX^!GUN`3kp-@WylH-7m2!Y;uBFuTSWeE#Q;<$pK- z{oSw2JkJOrNR8gq5!Nw9wCg&_I0v(OHet!JeCQ9BWkKKfnCJQ6AvoPCrEWVxwlpd= zvranS#9w~;qry#7q!j+}w|_`k{Ql2>KfH%JQNJI6lv~}m zc_7kv-*?FvX*~>s_>*;Ah4Qs4q;9d3u|)Vc%RGc|I{>8=v~7EcBHiL$q7`Grm%s2i z0M`osl`p=GoU^#OTETg6)^QzFwq8z|G(tQK+Z^vFn0Zd0q&_>@O}$x`MSpI!y!RsP z>YdkKEp?>0$(%Dn2vR@XNG+5(=UZO>65f9DN@1qfb(J;9lsYi9yWAf&qnP*W>^aJ`xKx1f*S)M?oBBrH%cib5k+pio*gK# z)Q%7W+P0Ok&f%#p|`EbecegojWN7r>2hCyi0 zfr^ShO_L}+8OOu&@XYi)&mz>odu@>{;Vm|UPH_c55w@bdRBvXA8{_U({Kp z@8|VdDFs(oSHeK7gJT#S; z(Y~uITms)+&->nc8GBh4?Bl~QhzsP5!C>9Irenvj)?%6_Xssp4G*%q)x~{wat@mE~ zBx{>gzsq{^;HUj-zCs<-#Cv>f>+tTUeq0c3`GQQo#10!VR{ET+JAbelFQtWI{=&vNqx3e ziYzl(kJ@e9%3h3&1b<@!>E zW{9;++K=OizVDGzI$YJKl+gFR9I772>0xN;DTHjj764xQ>`MTExBm6kVY4?sf7)~R z0bAfSP3XD~0CU9QIp<^=t?5s@%qh_rBliIS#NDx^s3Cxu9RLs=;F>Q)1V8z;Z$GI2 zm^}RdUVg-|z|$#x^Yafv{SzlnoH%jf#EBCpPMkP#;>3v)Cr+F=apJ^@6DLlbIPn7U YKh_WI!B;awQUCw|07*qoM6N<$g5=EXw*UYD delta 1709 zcmV;e22%Nl5WEeLBYy^iNkl29PbWhLU1qfoUK^P3U@E(NRKp@10 zAPHs@l|i$R*=8joS%eU>&LWo(5mdxQ7Fo>7m4uMh{Ppxqw>-yrif<~NDaSxF4d;cX zt52Oe=lkC8_f*$a2mb!~$z(JdRdrog{eHh1kH^*i{(dzW41cP_!^8Z|eXbW47V^Bw zWRkC$d*Sn&b#;!Bx+b6y${igYReO7T`CH{t5;9Us)#Bn}Rv0qCa5${y0jX;ON$V#CkuC28JO2>JS#5cs~DRWN%z~U$c zAOIyH1Ka`{Qr85Ovkamv9}^%kZXSRDtj|ZUnFrK={q#83d9yw7j3xO^97n~u z-re18t}TOn^9+RWoCI)Ba1U}MPcORo#jO)ez5Vgg#D8AGeOSl+@UESmoqWw2R2#sY zm6erjEbbAa?DNTuuTQl^vYBCFg)`1AXOR$vVm`ll#%#~H8`}qPkLTHkXXzzek7wKP zS@R7FS#_MxZ%H=yU^uV&<~M6}p@&s;b1kTKqVQ~v0x_-;g5R*uJl2SrU%~Y%<{^|} z#NJb_l7CVrin)CB9IdOzT9PH*kkpVLl7y22Te{pVy3w_b%|=+}A=LUe8%>;}kjko@ zf|(Z(n&%M8vHwyYMcfB>XC2m!#(`A3Px})H)`RqdP6Ecqi<$!r1q5`1XPX=Onla|0 z%+rVWnhDMRDeluQ~}B9J`Im zM{6l0_w4S>_Hm5w7;k!zib|SeUPD$J+(QXMz&&ia0sC;z9O8Y$(Q+J{wNnWgjYdtj zcSGG-*Ww$dVOCO@gHTa1vve$-5-UNj$$HZ|MF?G8UCrxT4S@N>urrkOK#ibLJ|qEx zMt=gcr*7{?wze_rE1XKANDLvHC&u}WE5`egtTt4}urwr$XV&HeNkC8WKEx`QCGs@X z)6V~F=xNU6qf1@-@~eM6^ZU2ACsqj+(7KFY`EIj$=AU1Fm>@I)8>8(!VjP=9iFqyV z!7QFl3^~Kc{s287iv3~_;pw)l5D==Bbj<|YAYl&x@>&OVIn%=LUmpJ z_Uex&EPj3d`oucsiMT#6++y8UA>EfTEv8#Ti2Vr)>GH8FG;dkS3=yvl^ChZ9TYn)Q zWTD8S-Qu*Qg#gz-y_~NR$S`c7juj#!bQwqr#n;1U|5)&nJ+P!=i-aPq!qNPyAJ@k}FjP0)SnKRB+-{f;vC>XGNW6U>7>|s(=@OXAG!J0cD zkoj8HYQ;K)i(RB)Wy`Li6AxO(oCs9ddk7R?a(pZS2#Hk?PPg|!WyZ&nW_mqNWmR5F zBfp6{mPNh9x7df)bbIVnX@8V)xO`?XN=MQ>VJXCWjIE~ ztT^@?$Reqhag(1V(@s%i4)KnyKerld#x^%jR%tV@Y)`8SU2yGq-p9fodkqWgI7-yT2J2#J#wFRt%0nKW*5_F^wN4t_y85)%Q^k$7v%-cd9=NnH3hJuJg5W5n z^$izE@YLrs&WjzXM|_~=<9{prx|%Vl0tjW9^cuwX3C2C&9&NEIot>pHo?&9>8eWWH zX^GPS@c`AEH32AqRTWIPMrhpK5JY+1)pF+%nKjJrz(bMnt&<(BZ=+jYjvkUG|j7eBTEE6*HvFA(CvaFb}wAnuEXY3JMAe z3JMAe3JMAe3JMAe3ML8)3JMAe3JMAe3JMAes{f65cxlh!8*1$X00000NkvXXu0mjf D>#IVw diff --git a/mods/base/src/items.rs b/mods/base/src/items.rs index eecd42af..a94b0f90 100644 --- a/mods/base/src/items.rs +++ b/mods/base/src/items.rs @@ -148,11 +148,8 @@ pub fn register(r: &mut Registry) { let points = points[slot]; let tag = ARMOR_SLOTS[slot]; // Leggings are the inner layer, drawn closer to the body. - let (inflate, layer) = if mat == "leather" { - if slot == 2 { (0.2, 2) } else { (0.4, 1) } - } else { - if slot == 2 { (0.5, 2) } else { (0.75, 1) } - }; + let (inflate, layer) = + if mat == "leather" { if slot == 2 { (0.2, 2) } else { (0.4, 1) } } else { if slot == 2 { (0.5, 2) } else { (0.75, 1) } }; r.item(Item::generated(format!("{mat}_{piece}"))) .durability(durability * dur) .set(&ARMOR, Armor { points, toughness }) diff --git a/mods/base/src/mobs.rs b/mods/base/src/mobs.rs index 9649e0fc..a2fd16cd 100644 --- a/mods/base/src/mobs.rs +++ b/mods/base/src/mobs.rs @@ -139,7 +139,16 @@ fn pig_model() -> Model { &[([-4.0, -4.0, -8.0], [8.0, 8.0, 8.0], [0.0, 0.0]), ([-2.0, 0.0, -9.0], [4.0, 3.0, 1.0], [16.0, 16.0])], ); let body = vanilla_part("body", [0.0, 11.0, 2.0], &[([-5.0, -10.0, -7.0], [10.0, 16.0, 8.0], [28.0, 8.0])]).rotation(-90.0, 0.0, 0.0); - let mut parts = vec![head, body]; + let left_ear = ModelPart::new("leftEar", [-4.0, 12.0, -9.0]) + .cuboid([-1.0, -2.0, -4.0], [1.0, 5.0, 4.0], [0.0, 26.0]) + .rotation(0.0, 0.0, -15.0) + .mirrored() + .child_of(0); + let right_ear = ModelPart::new("rightEar", [4.0, 12.0, -9.0]) + .cuboid([0.0, -2.0, -4.0], [1.0, 5.0, 4.0], [0.0, 26.0]) + .rotation(0.0, 0.0, 15.0) + .child_of(0); + let mut parts = vec![head, body, left_ear, right_ear]; parts.extend(vanilla_legs(3.0, 18.0)); Model::from(parts).uv_size(64, 64) } From 99833422458ad0f4113d68a3ad31ad983edc5d7f Mon Sep 17 00:00:00 2001 From: Priklen Date: Fri, 6 Nov 2026 19:51:53 +0300 Subject: [PATCH 08/18] humble attempt at pig --- mods/base/assets/textures/entity/pig.png | Bin 2055 -> 1064 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/base/assets/textures/entity/pig.png b/mods/base/assets/textures/entity/pig.png index 2ecb6b96370bc470cfbf7484738e6af9d3d6df96..b1e5756637308c930afacef2353a6c49a8dc2dcb 100644 GIT binary patch delta 1030 zcmV+h1o``i5U2={Fn2MAJkQN!t%1V7BH=~id?)D0pj7zQltB;=&R~zf3Q-8N&T4d_F+baM7U@|V% zHGa39+76&l!!ZJQB(xPT2hh>RX@E#0y-88fNCZd*Z-Vgv0S@3JPoZHiEre~Rb_CF! z0F9=jz9~*feT1m795hr4|4nd0Lic$aGzUOg+q6KZNxxHvzI-##@&xP;0Kl};9hhf} z>x!#=uAkH4N`Gc$rFD>xK01My^D^orNr%hfF3>qrblM`8lXBxxaZVemO31T98*x$Y z-#yCEtTCihR39&sq5%8#^XeM*`+chpP6tPbc5pH-pA5!r!;I003|}7^==p zt5TcqlFn&Ws*eks4E>E>qwzE~_aUW*ni{-39WFGCWq-DM6e{OyV2BJId0#yM0394T zTA|x37CL-(egTv5<4B*KUug1qR%p8b{)X~c#yhplEiQ<&iQnjKW|{ay1gREcmR?IP-R>Rj;_(jp4)(s(Ux)x zlMXH$8h=#_d*rv_U{3F^zh7y;zy9*oS%-5t7^*ryKA$eg;_kz<$vi96IwQ?#l;7Rk zvo&vJ>4zbg@sdpXY|E)vGTOA@`sg-o!;L%*@&&REd?EFLFV?kxdm zKht!mOUlEOd-TP@fp$;j^Q>^@+BQtj65L21gMUrBu-ue-r+j6n$&J)-ose4wx~i|@ zkVQ=a>UEyvG|lYKgIFFC-X>X-ZWF2RN?T_|_Q7@5z)zS&qdgzAq-m1!eIB{Ld-CM= z&elRXEei!ZVp`NpQNZ&Altmr8?7YH<6hJo?;L$iV@c!;WGkSYxODkIyt2|Aj4oZ1u zcYpEj?HmB$=>3OQz0tv`AVtA4G?EC_0q3o>-T92ZR4??<1z?R1FyV8$?BgIGXUxj# z|2x3vgc&h~y6fG8bT(-sp{KA2KUUiB_m|4}DA=CQ;fTplTF#xsw`ZFJR0QPDcf2~k zDw;SM3Pl~;Yg>XTUtaPEo6=MyHAM#iV1N4SZr%M@8)^}3a+D*HNF)-8L?V$$Boc{4 zB9TZW5{X3G%A9K1r?>;F}@-zAh22L*D5nf%0nu9UzUOjXBs2q!HkwZ*AcJ z1SMl^1}0#4!bXfffcY;nXdnpR64Hp%`_?+-FX)5Jb_NDGBLDyZ07*qoM6N<$f`bI^ Aw*UYD delta 2029 zcmVco_I<~)ENGer+qR);8h@meux%TRF;GgOlmcT6 z_I<}EzWOb7X^j^Nedz(E6t-_0Ep_GEP7S1_nt$;+p0st_^AcTONGfF8?O2K=NbzPzL zMS{I>TnvEL8cHbrvN_f{+gTkDZpt}_ zbzNbM5r4H;O3A|X0Zr4Ol!9&BV6DYG&+Se6B)6r_|6%Fm6HRm-x#IVWY5bG|z( zT4SDPIOpJ;6Xr0xWGq`UgU*skT15YmI4|E(d_L;o<9Sag$0Zad%Yv`m=rC5A{X{@t_PEKjYu)y58DQ zN(rSD%=0X3&~gKSa}M)7i-z!fmLuD7ZPuO{fRvJ`Jr^XMNv%=}VvGnONKm}@u+|<9 zMwPBxCj-j>@trZoJDpuF2MsZyT%xN{^yV7H~;pICe2eW!MVac(4=ns}vT zGWb>i7#UKwzT}_~9Vny}{_wYdNPk)U{?C6uyoWkbzaM~y;+t;ZneDkBJAp&*Iq4kq<^@{oHIfQ zQa{{CEtEOuTVDPW-hT2*VW!q~l{LteIxw`m+#fZgo;{d^wrz#(wCnRcqw6|pkz^5o z_r`XPuBn6%?&SPJy}6rcNo8v`KjO(`WeN+~4~MQ*&F9VoEWjt~Ocww27XTcwmR z41>5xmK7~K6RqcYmNv!*0e{GW`CZQWaLMt01K_jfOWzs1!nK4G#H~;yjWV5!p^}{?gm6y@JtA8t80^eQF``&vQ zds!CjR8nBkO?P&LMgrfD#aqhz1u!XR+!<8Sy}?MOM|1CY$uSN69QoW_QzUEGI(x1YRH znx>I9$-e;{?h{z|-hX=;ZKr8M-}llA>lvmlU6$9jZRomA0>=c@1JwOF`~lJTJ;rgA zjgi)+6b!>4B^YBAy0YDIMDF`u)E$5fMFel1=wNvp#ZE_7H%;^L2Y{tTEvfJJrfHIP z#murr(xBDD4)uw51=BR4ZCfc}dIvh%dZ?1i+>bi|oD4~QwtrQMEHhb;+HKp)Vdw^V zfN7e<)v=XQ%P6#D5}hg6iZMdntoi4~`_+d3{PtIc?X9lm`cj2vh_y`GkK>5G?~zhE zT-B$P(D%I@svgJbVQA?oglxSQ0ABj+O8|hk{`J;jvo}9~+H>~-Ti`TJ=(-L7#Nj#T zWE!pMPrJ-1(PkJU_W=OJ-La&oA%K`201zGEnlD5IKl!z9KdAqhJpBJ&e#EfA(3v)Cr+F=@dEKb)(`B#S2IIW00000 LNkvXXu0mjfESc!e From a28d45b470c6500518c6f1e699a91e0e41148a06 Mon Sep 17 00:00:00 2001 From: Priklen Date: Fri, 6 Nov 2026 20:00:52 +0300 Subject: [PATCH 09/18] improve pig --- mods/base/assets/textures/entity/pig.png | Bin 1064 -> 1737 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/base/assets/textures/entity/pig.png b/mods/base/assets/textures/entity/pig.png index b1e5756637308c930afacef2353a6c49a8dc2dcb..2d5244a030eccccc207ff8366a7e6a3d0acb186d 100644 GIT binary patch delta 1709 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 A_5c6? From e9b2e03602c0556ed1125ffc8c6ec28b174c5ae4 Mon Sep 17 00:00:00 2001 From: Priklen Date: Fri, 6 Nov 2026 20:32:51 +0300 Subject: [PATCH 10/18] elongate pig --- mods/base/assets/textures/entity/pig.png | Bin 1737 -> 1751 bytes mods/base/src/mobs.rs | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/base/assets/textures/entity/pig.png b/mods/base/assets/textures/entity/pig.png index 2d5244a030eccccc207ff8366a7e6a3d0acb186d..9b0a4338680d2b1acbc71736a6132f923c32e73a 100644 GIT binary patch delta 1702 zcmV;X23h&Z4c85jF@KRsL_t(|ob6lBYurW@{=AZAw7XXDre-OD#<AV`OUtW9j(`P z65F5;7R`)i-pu#jn>RmXFW?LeHaAW@;h`lZ@;E^db&$si0Dr&}9(J~Ob=~ED4+n!o zqx~n}eZO#4A6JRiMH+d+LlAXze!1TR02~Ysb()^n9djw5R3(6lxT~BKCl9ba;ksfj z1#oMV`va9iT$a8`UT~o)(2~-~y9nO|^1vJlAh+j%&jxpUS0KF3IF|=-%k!x~q`B2^ ziW2;JD&=vaEq`CC60K7`l&aK3UG9Gql(4|pdBSm)={%+R9)N-(PxCgEFI8y-P$~y1 z<$1!xJ8NGV`-H*f#t8uAxq>P(2wy@KRU6?;1c5N*+42cwG+Vw6pOfc<11dt?;?yB` ze@+&t+P9=Um6;jdGbsmJ5>s;Y;B%$ZoIJe?0)f#uu7AqnDlXX^@?0U$XHh>@Kub!4 z_-Gtg9p(}kjjI8SV|3e*Vev^lH5up_=(Zz65v5A>exX!u!n43VfIPwmDSu~s7w>d3gi?SbeyTZaYE{2&f{{^F7bi zL|&X|nSY~kjL|sO`N~4d9*-`w-Jg@;btt{Fy^EEVyV%*@b;_-SuU!eyWOzra$S~O4 z&=#kT2b&wtj)FiK10;0Yk)ez_)LD(jNbl1mMc4`TIPctfcS=s0q_zDJT4|C(6`9ti z@FkY}y;E0)?%?s$EgTFEaWFW<iP&w9B~5yQY9D zGVJfa!2bRV?Cm|r%F5lj$pe5t9F741VJ9>Qae}JI@aX=UZuIE>+N6`yAlz+7hGo+v z1<59Bam4`8?>USzM}U9z>OZ4i*a?j#cr=cUzRy$u2^$W_SX^u)?1Y*K&1)(rui(m| z4Sx`KO}le0zmB+FpFnPI6L*b!mSXELwMOp#^yCBpd@n#z=J@x|zx6wn=Jze`h~q5N%dfq;Ns|=9mw(^^+EtI2k-SzEPLT)d_Z&_I6lIR0tacHc zv`XDO3mzbU-1_F{;Yj+A%%AoX=0=V^UCAd5wO;UWb_63&vJuEJ^ zjbJ%1@?04KH0*@N63drQPMYs4<^fj*rG48yr3fJrB2y{4?Fjci{TNbIc_~8det&dN z*Y~{u?>+eXLU(?2z5p`4|Dc#*uPClf5Y-I=QG4zHCT9YAN4rza!S@14F^T-6aSXex z80Y#)79fRO7BnE?OTFynxzceYMQTKPLf8p)e6UH)0=Yg-4?P9AYZYa#$@^Y_ZaYG^ z9qH+jsnmF$2gg~4<2W_)w5;+mgnyk7VJ9?}&ooI91OmdB=(Z!hc_UH)a2%&b-tODJ z&GL&f*A})FK~~OGs^bCGJu3j61@q)tfh?b5qM*gawqDnl`#rrf@VQSiTm*s1e78@w z0O0@i`yT+R07p??gaL*}6PH?C>gZ*V%Bk$UptG!=%!u@M04WB~P6=eW?d_+>zYN=FlN6!BG& zA?$=W7#vPn-v&Q>XgQ}c^?xQuO6M&$y#ua50XB#<5h3zqeb>Q;4r%<9X`^oI%e^9x zleez`e)B{iBK8@+&I^|Nz1lW(BUJ}}1qhtp3fqa`Tf;1{h|bL4)gr z6ZV@o?|ROX=c;!tKwpOJ&s7VK^m#sMEu6Fdm4OuCvf?b9U^YSS0rSYaGSI)xxyZ~S wxPaM8xDnO|>iys_x-2Eo7#DghIrQVN=&3#W zRA>m~(u<+cOPWIqg`5i}6d!`2hxX6tt)-OGlflM0n6Q}Gjdr!tNV0p-zS%dkBYFMN z*e?3PqM6Zr{oZ@?=FP}n!YLSTZk#y6LCg1%MKQdvgDi>x0Dq2fu(Q3Z>h=fAI2ayk z?LYeF+ojXSxJtCn)5sAHys)G4{lPK-;9z*D()7IUSV#bcEC7_mZRMOeS%7H?*A)v1 zfNPt~A1DQ4)AUWUf^#i_mhWqM8{wNk9#}vCWcJ+gnc!w`bA;C!XR-jUdA<~gG}rn~ z5rVr&r7Vh-=6?%Wpf#04Aqz#+X8t!p2upmQCmg4#%2S%h0OS;Tnzx~RAq&lcQaMlx z&k+vZTKhta6NZ}`CjgLT5;9LATpuzo+X&Z(=LxMpvws39&FtTV%gOV}0VN@>aT<`D zKPL;6?OVP-?K9P^XI2ihe9ZNuCZ9=_=H%&}=Lw7_QGZz$m43bK2UA+6= zsv3{l)uEL|69k<=&GYWvx99pv;-qpMLMw?A$UIfj z6t0i{V0miFPy;-9wuOV?Ar6Lzc=BvZ35Uq_2Y<^DuCK~z0%T1@nmaMu1kEyT^0p-) z^A!90FR{P>5_@|uu(EP*Ve$arjz$vzK+p*^LY$z?Q#^jKrW!qdur?cH>V&)PP}6J@ zC!oGbTU;;z)O!xC%;Ml*zy3$77jyz`3m#7*ZR}G8K%I?76ZCp*1f4(;p><8=WEEUE z6n_A5(=-R?{Z|n;>l4V#P2#qB*9o=?b9?0O4^K}3z;!(2MTWnB|5Lq_Nrq3ieyVI^ zf;7MSXkE2A{Q3D@-T2j!a->|FWL5O!PLb*g*GK2h?OKwyxJIRI4P3`lPnl%uCjxJ- zu1P+L6Qv2#o>`|A1~^Vrwf&mGO%f*%u73~ipl$Vd8THo+gE{g*b^S%hM`+vcG zRo`_yyz}tObKUvT`2t8){6Rj$+)->n5Y_cOQF-nFW@iF=N71R`;5r_BG4uT6Nd&Vj zpJeJu8X$pO6f_~>`fA(DGO7GXf<*K5grE~B|6r1;1DQT8548liY2`(x$h(e*ZaYM` z9jfJ#%0zpf1;=TM<0#Scw5{?v1b>|XK_}3*&m>OZc>==q(QSt+cq38(a2zFC-W=P! z&2sZ1QyMk}L0V2_qWl5XJegCj350uQ63nMw6-chojW-1G?~2ysh4ADp&jn()Go5{UcBkIywP z{@2s*P5|Kj^{?N^7aiL+Mr)skw6qjPqlxAKtNH+{wa#&_Yw?SKCY6k5AIsc|M!sHvcQ>?nR2ABo-ckckOfAy&=zbH6)u5G>q>Ol4CwkJoRnmjPQ7U!tC zXTL05mL**lS}os4y8o)oSfZ%9^8W*r6a25typv!C6ln$x8Z>Co;5y-i{T9vJo^}1% z>Rk)amm%|e-I67JmT!7XXRLo^AOYC4ScenT6XX`KNPkxb`nNe7nL2_?s29SG&^}Q8 mCo)73mZuFijr07q70AEvXuA*<1yeBq0000 Model { [0.0, 12.0, -6.0], &[([-4.0, -4.0, -8.0], [8.0, 8.0, 8.0], [0.0, 0.0]), ([-2.0, 0.0, -9.0], [4.0, 3.0, 1.0], [16.0, 16.0])], ); - let body = vanilla_part("body", [0.0, 11.0, 2.0], &[([-5.0, -10.0, -7.0], [10.0, 16.0, 8.0], [28.0, 8.0])]).rotation(-90.0, 0.0, 0.0); + let body = vanilla_part("body", [0.0, 11.0, 2.0], &[([-5.0, -10.0, -7.0], [10.0, 17.0, 8.0], [28.0, 8.0])]).rotation(-90.0, 0.0, 0.0); let left_ear = ModelPart::new("leftEar", [-4.0, 12.0, -9.0]) .cuboid([-1.0, -2.0, -4.0], [1.0, 5.0, 4.0], [0.0, 26.0]) .rotation(0.0, 0.0, -15.0) From 6024684a6c0f7d0f338d71fca34412f7eb1c30cd Mon Sep 17 00:00:00 2001 From: Priklen Date: Sat, 7 Nov 2026 09:55:14 +0300 Subject: [PATCH 11/18] add cow ears --- mods/base/assets/textures/entity/cow.png | Bin 2493 -> 3168 bytes mods/base/src/mobs.rs | 11 ++++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mods/base/assets/textures/entity/cow.png b/mods/base/assets/textures/entity/cow.png index 82c30007b980ae313051ed0906e95c562473ebff..11e134683fd444d187b3b44b613f2f64c68e3d12 100644 GIT binary patch delta 3164 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 Model { &[([-6.0, -10.0, -7.0], [12.0, 18.0, 10.0], [18.0, 4.0]), ([-2.0, 2.0, -8.0], [4.0, 6.0, 1.0], [52.0, 0.0])], ) .rotation(-90.0, 0.0, 0.0); - let mut parts = vec![head, body]; + let left_ear = ModelPart::new("leftEar", [-4.0, 12.0, -9.0]) + .cuboid([0.0, 8.0, -3.0], [3.0, 2.0, 1.0], [18.0, 32.0]) + .rotation(0.0, 0.0, 15.0) + .mirrored() + .child_of(0); + let right_ear = ModelPart::new("rightEar", [4.0, 12.0, -9.0]) + .cuboid([-3.0, 8.0, -3.0], [3.0, 2.0, 1.0], [18.0, 32.0]) + .rotation(0.0, 0.0, -15.0) + .child_of(0); + let mut parts = vec![head, body, left_ear, right_ear]; parts.extend(vanilla_legs(4.0, 12.0)); Model::from(parts).uv_size(64, 64) } From becdbb78fb22479dea1bec8075f7d00eb21ec958 Mon Sep 17 00:00:00 2001 From: Priklen Date: Sat, 7 Nov 2026 10:30:43 +0300 Subject: [PATCH 12/18] dumb ahh cow --- mods/base/assets/textures/entity/cow.png | Bin 3168 -> 724 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/base/assets/textures/entity/cow.png b/mods/base/assets/textures/entity/cow.png index 11e134683fd444d187b3b44b613f2f64c68e3d12..f614c1a10415b18295c940b477dac26ae7219dec 100644 GIT binary patch delta 688 zcmV;h0#E(m7}N!jFn?QPIb0RX!tuSjH5g7NH#T1lGj7qEmu4@4{C?6t}z7Z;0 zgwh27@ITLWI6I~BJ3NMu%AQ9k*>YKl3}9fk#u#L)3u7(=#F6~|{7SXg_m7Nwd>&ux zyKTR!{wkRPuCWo*y8zgf%{#JK7B&NH1&U_V_n22*Jbz>?t*xg1CY~N&hOdR*_c2^8 zn<0Q%EmgbCR@KM)p0!W5-{7BDP607!)8{;nxd!7~A^@hS=xnPZ0*}roX$I(09$S5V z*kk%M4M^%j#MRPbx<$fnc4YRdixg}O##`Ymor>h$3)l!@(~k_ReLzw3+H@+!_+e|S z6hJi!zJDmIcuED(t?6Z+-I)(AY#5Pv+5-T%x;QgFD0_}k<~2HYa2EC~V2jgzyy`7e zS?2{C635;iZc(quc1|u+L785$RaJx#;4k=_`^Th#|6PVkuke?*?sQ zBm6Rab=74d1OVpr4}t*VIBgP!A#5KP`@cT~K`9UfK@bE%5ClOG1VIo4K@bE%WabB3 W-X~Y|)&?m60000hKvFnl$DG*YBuTUi@l|G2;A3|6HB5&KnWm zyL>qUz&y{G=NZE=z&VF`o}snIT@O7Z`_X5;WEchv!vJe7VvL9}B1sZ-U59ZTkt7MK zszTRw$nzZIIDaBdQa~OsJWm#ev2E-VVrYWqoNYfPi{T@mw%=3&q&jA22MhwG% zaU4+;1(GBI6LBX(YmI4|;Jt@Z3gbA+-ysCVc=|5ROn(3Xc<-eGj4@D3!F!Ksng9Sv zlE8b9{eCYCdhbyb1&lEmh5bgePbuh*tO;gPC3}cM+yHW~ORUw2REx_mRKL5#E_WcLn`L@{iJ(47mB+c^-=N!^B z70ls#{(tuQm!Xt`)*3NJG);pG4}MfGCd)F6;|Q%ap1gDg~kK>4@X`r>11kUq} z-EIeKt*kXoll-i;7D_4Xb~^yT-@Wu2E?j&T-g|@)(6%kQuETo0M%Q(ystUW^PJcj{ z32xi=cFulM0cn~F-!q%b()z+P&jWxU{CnQ>K53II%LHkeys|8@-EL(8_GX^v$g)g& zSt%s|NR%GO5u43MZvTsyUw|=2O1^0tOw)w@elJMRpD&6+_Iz6j;7dqjF-C+C;GDzz zfBVe?6I1w8m1Od6-ZU?Qk^siD1P167X(lizI$Q$hY z9@bho=LA^UyVM>^DWqwNzr6PYg7VWeN!#xC``b^zIF6X6NwUs9UJ8daO=Y2`X^pJ0erIcL8?Sv*!v6P&1sOuUb1SCmvN=X@GuwJiGmLZ)*8FrPTtXVo$#==7N7gG`>@$;kY$-v8P{Bju%ajgLsqL5=6Mz%=DU8T1W+K5 z_F{~Z{p>oWFgf!)qwjk;Tz^p%LOI+Z#S8@#1V^tyWI}cGzpNhs(zCGI4fQ^mv;Bt-x2|c4&Y`8dK4l1{ay@{F-DBlV^95qs7lh_ zXYN0b)oLXa4cw?QnlrwWAlNhwVvMNk8s2*`a!M&&xcIE-ncw-{KYvibPw@h`6Gc&= zC<;My;N)g$h0AGO%c|LIHUJ>HooK$i4FGa@wgH6= z562Q`%Nb*^*=(d*sDDJ2QrPeJ$nzY-Fd$7+p<3R0j1hUBiLIAAfyw5a#oSncU_0q z{^NfY01-Y}mPwY`PDzr8+>g95a7L+=V;<6$w}EE z1e9edX3Tq!FJFCCz?ExA0tgfU#9(k>p_G!|r6;edN`K}6w`vQz#-?e64!Kz#ig?oZ zJ@PykbG6hUOP9*ap{ODQEZ;+Y!667Mgl!RHgmX?RP+Fj>Di~wXG!544HHxADa6_bU zw8Ro+|D|bqicZ?LMT}9(F3)oqV^EeQx~{`&wL(=@;{I3}w9{l73LKUAq=fI8HRt;boG6YG)+$@fHQ!)uFpC$>)H2-Xa)=`su;1@dRn;keBn~X~{V)uu>soF%%d%5w z`WGMi6H#OwJuz{tG7dtDqBv!WoO7o}TW#ASO;fq~5CZZ%N7FR;?8iTh)oO*!W+U`U zyMNB)6h(nAJoCI%GoShF$3HB|lLT06(RH1O9hM>=qL8WU8Zkz6T_?B6AqW6r3R-Jg zVzw2{6??QO3d9(tjfnhgkG}6k9V(?nE>kHIf4FDP0yw1Ml$!6>S_`-@TUT?#Oaf7I zDM*Os%qaPKsSa6oL|;-8ogKlINX@jQQLeMn_@3={i(wdWe0(g7!fKKPaOl8N<;~MgaYJ-cbbB`oieVU}tbf_x zOLa$tCpeMrm{=x>vp=O2p7`2xB9&>-j4?uIOge|FOvIA8I8)s1b|UUhnV}!5UprAq z*^Mk4V^F-Qz;Jyk^rN;j#Pf5r5@J5k@(@3{9z-=Q+|emCX~0xo8Lh+wE4q2we(} z>u4%pkPO2hd`t9Z4^x#bM_%M?wi*C&jvT$SP52D$H;oe6hK`ZRW#w^?+y~=z{oei~ z@BXb@TE?s2{I5Iu`vJETvaxT!@JuAiGlOIRQV|W&IF9(k2R?P`P-h*U@qf#j1PuWH z_K#nQ^E?Z6kdJ92Nl`@FBuVh?7oNH0fggSF5j^_fBX{-`KSx;L1i)xfiLewy>`wv; zD`cssfg3k`^_vg>0*>*shXo+F&G8h=pF;);2_i11I)^yKAr5hKoI7_eo;!E$j{REP z&l|7XH$%Uw@wz48+Lfo{wMZ*ZM*z6+p+Ca4D^LGQRKlSGe$g8^#32rGh(jFW5QjL# pAr5hfLmc7|hd9I`4sl20{{bDaq3J4_GY|j(002ovPDHLkV1lpD?lJ%X From 969bb3c944470dde916c62052bda2851b79b7b4f Mon Sep 17 00:00:00 2001 From: Priklen Date: Sat, 7 Nov 2026 10:49:43 +0300 Subject: [PATCH 13/18] redraw cow --- mods/base/assets/textures/entity/cow.png | Bin 724 -> 2170 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/base/assets/textures/entity/cow.png b/mods/base/assets/textures/entity/cow.png index f614c1a10415b18295c940b477dac26ae7219dec..0338cf4961e74143d2d8d62c887828dd948a6ff1 100644 GIT binary patch delta 2145 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 XuTyrDltBNt00000NkvXXu0mjf8I};j delta 688 zcmV;h0#E(=5Yz>bFn?QPIb0RX!tuSjH5g7NH#T1lGj7qEmu4@4{C?6t}z7Z;0 zgwh27@ITLWI6I~BJ3NMu%AQ9k*>YKl3}9fk#u#L)3u7(=#F6~|{7SXg_m7Nwd>&ux zyKTR!{wkRPuCWo*y8zgf%{#JK7B&NH1&U_V_n22*Jbz>?t*xg1CY~N&hOdR*_c2^8 zn<0Q%EmgbCR@KM)p0!W5-{7BDP607!)8{;nxd!7~A^@hS=xnPZ0*}roX$I(09$S5V z*kk%M4M^%j#MRPbx<$fnc4YRdixg}O##`Ymor>h$3)l!@(~k_ReLzw3+H@+!_+e|S z6hJi!zJDmIcuED(t?6Z+-I)(AY#5Pv+5-T%x;QgFD0_}k<~2HYa2EC~V2jgzyy`7e zS?2{C635;iZc(quc1|u+L785$RaJx#;4k=_`^Th#|6PVkuke?*?sQ zBm6Rab=74d1OVpr4}t*VIBgP!A#5KP`@cT~K`9UfK@bE%5ClOG1VIo4K@bE%WabB3 W-X~Y|)&?m60000 Date: Sat, 7 Nov 2026 13:27:47 +0300 Subject: [PATCH 14/18] redraw + remodel sheep --- mods/base/assets/textures/entity/sheep.png | Bin 2683 -> 1643 bytes mods/base/src/mobs.rs | 23 ++++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/mods/base/assets/textures/entity/sheep.png b/mods/base/assets/textures/entity/sheep.png index 555dc130ec257df804058469812d5ef424011ea4..3dd18a7050998d129eedca433956198cc4c60c7f 100644 GIT binary patch delta 1627 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 Model { /// its wool in the lower, on boxes grown over it. fn sheep_model() -> Model { let wool = |p: [f32; 2]| [p[0], p[1] + 32.0]; - let head = vanilla_part("head", [0.0, 6.0, -8.0], &[([-3.0, -4.0, -6.0], [6.0, 6.0, 8.0], [0.0, 0.0])]) - .cuboid([-3.0, -2.0, -4.0], [6.0, 6.0, 6.0], wool([0.0, 0.0])) - .inflated(0.6); + let head = vanilla_part("head", [0.0, 6.0, -8.0], &[( + [-4.0, -4.0, -6.0], [8.0, 8.0, 8.0], [0.0, 32.0] + )]); let body = vanilla_part("body", [0.0, 5.0, 2.0], &[([-4.0, -10.0, -7.0], [8.0, 16.0, 6.0], [28.0, 8.0])]) - .cuboid([-4.0, -6.0, -7.0], [8.0, 16.0, 6.0], wool([28.0, 8.0])) + .cuboid([-4.5, -8.0, -9.0], [9.0, 18.0, 8.0], [16.0, 0.0]) .inflated(1.75) .rotation(-90.0, 0.0, 0.0); - let mut parts = vec![head, body]; + let left_ear = ModelPart::new("leftEar", [-4.0, 12.0, -9.0]) + .cuboid([0.0, 7.0, -3.0], [3.0, 2.0, 1.0], [0.0, 0.0]) + .rotation(0.0, 0.0, 15.0) + .mirrored() + .child_of(0); + let right_ear = ModelPart::new("rightEar", [4.0, 12.0, -9.0]) + .cuboid([-3.0, 7.0, -3.0], [3.0, 2.0, 1.0], [0.0, 0.0]) + .rotation(0.0, 0.0, -15.0) + .child_of(0); + let snout = ModelPart::new("snout", [4.0, 12.0, -9.0]) + .cuboid([-5.5, 4.5, -6.0], [3.0, 3.0, 4.0], [0.0, 3.0]) + .rotation(-15.0, 0.0, 0.0) + .child_of(0); + let mut parts = vec![head, body, left_ear, right_ear, snout]; parts.extend(vanilla_legs(3.0, 12.0).map(|l| { l.cuboid([-2.0, -6.0, -2.0], [4.0, 6.0, 4.0], wool([0.0, 16.0])) .inflated(0.5) From 2f20cda932bd4d97479528e0c32551815416b675 Mon Sep 17 00:00:00 2001 From: Priklen Date: Sat, 7 Nov 2026 13:30:08 +0300 Subject: [PATCH 15/18] reshape sheep --- mods/base/src/mobs.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/base/src/mobs.rs b/mods/base/src/mobs.rs index 2ec87045..7718d1aa 100644 --- a/mods/base/src/mobs.rs +++ b/mods/base/src/mobs.rs @@ -74,16 +74,16 @@ fn sheep_model() -> Model { .inflated(1.75) .rotation(-90.0, 0.0, 0.0); let left_ear = ModelPart::new("leftEar", [-4.0, 12.0, -9.0]) - .cuboid([0.0, 7.0, -3.0], [3.0, 2.0, 1.0], [0.0, 0.0]) + .cuboid([0.0, 6.5, -3.0], [3.0, 2.0, 1.0], [0.0, 0.0]) .rotation(0.0, 0.0, 15.0) .mirrored() .child_of(0); let right_ear = ModelPart::new("rightEar", [4.0, 12.0, -9.0]) - .cuboid([-3.0, 7.0, -3.0], [3.0, 2.0, 1.0], [0.0, 0.0]) + .cuboid([-3.0, 6.5, -3.0], [3.0, 2.0, 1.0], [0.0, 0.0]) .rotation(0.0, 0.0, -15.0) .child_of(0); let snout = ModelPart::new("snout", [4.0, 12.0, -9.0]) - .cuboid([-5.5, 4.5, -6.0], [3.0, 3.0, 4.0], [0.0, 3.0]) + .cuboid([-5.5, 5.0, -6.0], [3.0, 3.0, 4.0], [0.0, 3.0]) .rotation(-15.0, 0.0, 0.0) .child_of(0); let mut parts = vec![head, body, left_ear, right_ear, snout]; From aad557ddfc371b7503dca77360120bffc7ff13ae Mon Sep 17 00:00:00 2001 From: Priklen Date: Sat, 7 Nov 2026 15:16:30 +0300 Subject: [PATCH 16/18] this comment is outdated --- mods/base/src/mobs.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mods/base/src/mobs.rs b/mods/base/src/mobs.rs index 7718d1aa..24932873 100644 --- a/mods/base/src/mobs.rs +++ b/mods/base/src/mobs.rs @@ -62,8 +62,7 @@ fn skeleton_model() -> Model { .uv_size(64, 32) } -/// Vanilla's sheep (`SheepModel` and `SheepFurModel`) in one texture: the sheep in the upper half, -/// its wool in the lower, on boxes grown over it. +/// Vanilla's sheep fn sheep_model() -> Model { let wool = |p: [f32; 2]| [p[0], p[1] + 32.0]; let head = vanilla_part("head", [0.0, 6.0, -8.0], &[( From 081166e9e978be32b1d234f395005b8a026323dc Mon Sep 17 00:00:00 2001 From: Priklen Date: Sat, 7 Nov 2026 16:07:42 +0300 Subject: [PATCH 17/18] remodel chicken --- mods/base/assets/textures/entity/chicken.png | Bin 1125 -> 1246 bytes mods/base/src/mobs.rs | 97 ++++++++++++++++++- 2 files changed, 95 insertions(+), 2 deletions(-) diff --git a/mods/base/assets/textures/entity/chicken.png b/mods/base/assets/textures/entity/chicken.png index 9231f958520c575f3fdbf0fb0f1341c74555f14a..5ef42e19c91a320cb071d54d6cde1bc7dfac2445 100644 GIT binary patch delta 1227 zcmV;+1T_2Q2;K>hBYyw^b5ch_0Itp)=>Px(m`OxIRA_lOP1B(7dpPIt@_(5(1s-GPhj&RS1*H^- z2xq>&_QYpSGIH^a5CSnq000p|DTTi8p|wT`;m{wL&1MK8z!-yRn*RSMe!(p5*1g?Z zlv0AV79j*kdEg)C98yY45wQ2;dnBb~rx6kAx`y{2N-4bZ)zwoG33~VL78zrpwML8) zLI{KqP}envVShkXRhZA`XxkRMcee;QaESQn3r>@|t`S0j_Z~4uq?DfcquZA*kPwf2 zvia?n0D#MzoAlY8JEB~V%J71A&LM<=oHO44;A8yp`xQ9naPgfF@#~deFbo4`vl&uK zP)ebyDvaZZSHHX>0O05I=V_WABIk^@ZSl$V>xUY#Xn%a+^5!NjUXKG^3`;3t>-trs zlrRhfZr-?tuItb=4ezwI7AYmbk}>O;AeljxI(*(=>=NLQ0AGd=8})&c1g3#O>zuu+oToySGRPfzs-7 z&T!7bdkd!C7=x4& zSNIUZl2e>>tR7DzDM*-g|D1RaNo#%0yVw=P;V4VR3bw$Z49mlINTu zrDS#2_x)1!Cpt*k*=)u}7U5LVpg3Y2M}K~O7+u#rSM7MwNZ?>+jWImXD5Wr;&ta`a z(=_nj^T9`Pf>H{z*$i51Xsuzb1#pntP18UKfv)RT{&6{ZI&Q>2_y6L9jS>x|^+_qw z_dO3iQcC2UIa;*VJPnpLYb~EC6sHOySUHwi!59PYJ-5?RV2k2xHqIW2vXtdKFMq}e z=NzlM^3Wv$%3M$kx7LD)Ktx>3N~r^?5#6-M@L8CVSi4RWwCvGdpkZOH(vZO zXYuYto+L@=?CcD?ySwrK*4EYKsYA{uW|g+E5S*V}0IPLr=jIkcIg}*PoZN9WuxuJOZAd zxENl(n2ZF+PhSX6CLcy6ARy!r9I{wz=;~w?@WI$vUVpDw<9w8KX=V+&aI$(1Aa5tecues#lmhY*40xa z%sM<}o(CD$#uWjcfG`M)`(jbP5t??k0$|Sl(a{_d%z*?-!?KUgp3Rwad1mGtPvAdT z1Me}qFn^x4Pz=gYF|1VU~RvR5Cen952ZrVW*xXFo`AI>@9Aw)WPf;6IfoTlvkr){pCQgZ^@N9fQ7L$Z zVeG&1fR4QrxoBP50EEpHIkas5@3ugF&*g#Ho-rEoJdM)iU%{vOw|T8P_cbT}7ZuP= zy1Tc(A#ZVHALQ90#RBSgz??GUeKTb9v#)b2I>`b^UP3$JlxVPK=&v8XXwlYNS{fK^2;V4VV`|SQke*jIq{do}rO-oM*xFvz(surBxMR5vl2@ zl^}{hFsw=yS3LbKV~bUtiBqwl0j%MBBXD^B$=UI@k@Df~j0FwEi1DVkkae4=1jbm% zSU&(1VW9)bX7J{z)kr=seux(v2&^|4`hRHmq66~$rcZByxYeM2D1x>04BmOn9IX}T zqpf)H0?au3E5oH^mZ|r7km8Tc?i5-Nur81|WGret%nX&5$ClB>yFbII5rqF_J&Q5# z8_GiJo;Styk^%wU;}Sx6@AIq(-7dwvL8~&3XK86ER({?ZSzde2cnifE-U^k4%u4u< zm32!kYpt&ZAqdP5AY$ccO!tmZWm-vE@2e!UNj$*A(5-ZsQ|mU`Xrqlb+GwMVa9HpK X#jZ-S^)G=v00000NkvXXu0mjf6h0k< diff --git a/mods/base/src/mobs.rs b/mods/base/src/mobs.rs index 24932873..ace2d953 100644 --- a/mods/base/src/mobs.rs +++ b/mods/base/src/mobs.rs @@ -2,6 +2,7 @@ use weft_sdk::ai; use weft_sdk::*; +use weft_sdk::abi::MeshVertex; pub static ZOMBIE: EntityKind = EntityKind::named("zombie"); pub static SPIDER: EntityKind = EntityKind::named("spider"); @@ -31,6 +32,80 @@ fn vanilla_legs(x: f32, y: f32) -> [ModelPart; 4] { let leg = |name, px, pz| vanilla_part(name, [px, y, pz], &[([-2.0, 0.0, -2.0], [4.0, height, 4.0], [0.0, 16.0])]); [leg("leg0", -x, 7.0), leg("leg1", x, 7.0), leg("leg2", x, -5.0), leg("leg3", -x, -5.0)] } +fn polygon(part: ModelPart, size: [f32; 2], uv: [f32; 4], two_sided: bool) -> ModelPart { + let [x, y, z] = part.pivot; + let [width, height] = size; + let [u, v, uv_width, uv_height] = uv; + let a = MeshVertex { + pos: [x, y, z], + uv: [u, v], + }; + let b = MeshVertex { + pos: [x + width, y, z], + uv: [u + uv_width, v], + }; + let c = MeshVertex { + pos: [x + width, y + height, z], + uv: [u + uv_width, v + uv_height], + }; + let d = MeshVertex { + pos: [x, y + height, z], + uv: [u, v + uv_height], + }; + if two_sided { + part.mesh(vec![a, b, c, a, c, d]).mesh(vec![a, c, b, a, d, c]) + } else { + part.mesh(vec![a, b, c, a, c, d]) + } +} +fn rotate_vertex(v: MeshVertex, pivot: [f32; 3], degrees: [f32; 3]) -> MeshVertex { + let [rx, ry, rz] = degrees.map(f32::to_radians); + let (mut x, mut y, mut z) = ( + v.pos[0] - pivot[0], + v.pos[1] - pivot[1], + v.pos[2] - pivot[2], + ); + let (s, c) = rx.sin_cos(); + let (ny, nz) = (y * c - z * s, y * s + z * c); + y = ny; + z = nz; + let (s, c) = ry.sin_cos(); + let (nx, nz) = (x * c + z * s, -x * s + z * c); + x = nx; + z = nz; + let (s, c) = rz.sin_cos(); + let (nx, ny) = (x * c - y * s, x * s + y * c); + x = nx; + y = ny; + MeshVertex { + pos: [x + pivot[0], y + pivot[1], z + pivot[2]], + uv: v.uv, + } +} +fn polygon_at(part: ModelPart, offset: [f32; 3], size: [f32; 2], uv: [f32; 4], rotation: [f32; 3], two_sided: bool) -> ModelPart { + let anchor = [ + part.pivot[0] + offset[0], + part.pivot[1] + offset[1], + part.pivot[2] + offset[2], + ]; + let [x, y, z] = anchor; + let [width, height] = size; + let [u, v, uv_width, uv_height] = uv; + let make = |pos: [f32; 3], uv: [f32; 2]| rotate_vertex( + MeshVertex { pos, uv }, + anchor, + rotation, + ); + let a = make([x, y, z], [u, v]); + let b = make([x + width, y, z], [u + uv_width, v]); + let c = make([x + width, y + height, z], [u + uv_width, v + uv_height]); + let d = make([x, y + height, z], [u, v + uv_height]); + if two_sided { + part.mesh(vec![a, b, c, a, c, d]).mesh(vec![a, c, b, a, d, c]) + } else { + part.mesh(vec![a, b, c, a, c, d]) + } +} /// Vanilla's creeper (`CreeperModel`): 64 x 32. fn creeper_model() -> Model { @@ -95,14 +170,26 @@ fn sheep_model() -> Model { /// Vanilla's chicken: 64 x 32. fn chicken_model() -> Model { - let leg = |name, x| vanilla_part(name, [x, 19.0, 1.0], &[([-1.0, 0.0, -3.0], [3.0, 5.0, 3.0], [26.0, 0.0])]); + let leg = |name, x| polygon_at( + polygon( + ModelPart::new(name, [x, 5.0, 0.0]), + [1.0, -5.0], + [26.0, 3.0, 1.0, 5.0], + true, + ), + [-1.0, -4.9, -3.0], + [3.0, 3.0], + [27.0, 3.0, 3.0, 3.0], + [90.0, 0.0, 0.0], + true, + ); Model::from(vec![ vanilla_part( "head", [0.0, 15.0, -4.0], &[ ([-2.0, -6.0, -2.0], [4.0, 6.0, 3.0], [0.0, 0.0]), - ([-2.0, -4.0, -4.0], [4.0, 2.0, 2.0], [14.0, 0.0]), + ([-1.0, -4.0, -4.0], [2.0, 2.0, 2.0], [14.0, 0.0]), ([-1.0, -2.0, -3.0], [2.0, 2.0, 2.0], [14.0, 4.0]), ], ), @@ -111,6 +198,12 @@ fn chicken_model() -> Model { vanilla_part("wing1", [4.0, 13.0, 0.0], &[([-1.0, 0.0, -3.0], [1.0, 4.0, 6.0], [24.0, 13.0])]), leg("rightLeg", -2.0), leg("leftLeg", 1.0), + polygon( + ModelPart::new("comb", [0.0, 17.0, -7.0]), + [4.0, -3.0], + [31.0, 3.0, 4.0, 3.0], + true, + ).child_of(0).rotation(0.0, -90.0, 0.0), ]) .uv_size(64, 32) } From efd8f2b413e58503639bbdf859efd9c417f5109f Mon Sep 17 00:00:00 2001 From: Priklen Date: Sat, 7 Nov 2026 16:23:46 +0300 Subject: [PATCH 18/18] redraw chicken --- mods/base/assets/textures/entity/chicken.png | Bin 1246 -> 823 bytes mods/base/src/mobs.rs | 8 +++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mods/base/assets/textures/entity/chicken.png b/mods/base/assets/textures/entity/chicken.png index 5ef42e19c91a320cb071d54d6cde1bc7dfac2445..8fd7d2f02ff18b1934774f74f7d678126f03d786 100644 GIT binary patch delta 788 zcmV+v1MB?W3AYB2Fn8_M5~<3!ijo;QYU=YNrsIuU0MR;7wnsUkOG z9Q%hSv2oFedFd(qscKf9ypyXu5QxNgPmlkX z)>O(?r5e4g+4#a>FaU_ed!8F@P#QrH5QZU|rV#`|rk(Wq!K-?B`$bcOxYs4p+ucqp z?4BNTr@lSW6e>&ca#T^*lDu783vJt`-|u5t7D5Po-+$-B)>h~^4i66xwfM6<0Hk!RyAx~{Xdw1f}>%d&>-)2@wT8s3M$H9!iq z?P|>1X~HFsj*c!ruH7E{q8m@Y&fME+WPX$^MtPZJrJf|EQHyFC&zr5XDtMS zi*HMw1mos;sV%Qeyvxf&x!Y-l$%e-jy^%MWmW?ZV@pMq0qo&5{&3fwTAZ=z%35XT7 zapHj?@xV}B7*`zUB?3wi|9I1~bKR&GMqtSE<9~|dTt+}`c_mi_07G7u_a{$|are&} zEm;HdZU8Vg4bMOFwX?2!S1W1qNNdeQcbBQ+$GgmW}c70kzH9&@>i~xBIrXl-* zQ8hrWCB-FevYM=EF;oNcMnLjEgtRVEo+`4qsw0p(SI2^af`WpAf`Wnx@&}%eW>s=3 S=?(4x0000S0W?OV@kZl~@d11W z6HUC*N5Tu^Yxo2tdP#&tBMb-*GlN8Ms=8{|J}fULd(jQkBoLfK(%(&W*X~2Dwb$Wa zTVR3v_ihsrK}rcCLI?p()1dErIOp*4nKuOxu1W(Xm`7=vk={{JU_!7T08z1>@sQi8P>Ap}Ty;2-B4 zQc6n^u=nG8B&B4h5fSRThW8#yDZKL4)l(4(diU-Y8DpTeMvM_c2!s$&*ENP=Kvh+k z&*x~{7Q1)12!A+mi1_IXPLsN>5ki3X9x+Cwl%Dvb+m|ko5RZJa`R$effXkbk^x2&| zqFj&4@Pc;EA%uXOGv5E;WBl>^6*%W`@tqIx>y=+H3SDDSu(>`c(Dd} z@3gfRDJA5b`3F);AR-7M4&C{JwHD{T`AyvU{vws#2Y}<)^+iPY?;d&Yk#mMp3R-LA zoH33g+O|d4b&yg*Yt2Q@IfttseTt@OxBw2rz){e39X{XQUNY?Vr3>`dcQ;R5UC`q= zas(9PwSU$SLLldirfJwA0AP#(5h1075CX<=gtZpdS}3JBWgh3SdnW<0vwef=y2dn3 zP)hNRE=EGrG>9=mN{RV=4y6>%zIOh^?dJ2a(ujMzw@3(q(&}=~aL&Pd4{I%7ONVG* zI(I4^B3CUC5sWcVN+IXWLZ^tL(jJR*PAhuVf`1SK!!W=YgOn0i_z=R9Q=D_G9#11H zBS0y|1#s~m02Vt^N_1Vv_fI2FO@R{f08mvGt3CjbQbJ0}+TdCFd+$%$f4F;W0;sUk z0nRzj@2aYJI4WyWN({rWG(bHIF-8o-@cd8yg3xpf?IcEqV;G6?+5b|X-&N;(c zi+^z(mxiQinqaNP&h`yz+ZNL_@pruUc>RsHS9XWCZI8yvry#4Ug7=;u+86@>tP93* zWOdi~{ZjQOI!M{s zY{o_w;Z)L~IAR<}etj5S*F9J5c+p7UV1H+gF+9*Hr7)k*VXZ~eH1OW@!AEg|QVO%# z3|ebwtzoSNaFE+g(?AG;uIpC*aXEQ9Zp1(L|Kfv<5)GyGNh#6yJr6xnO5~h5TC~Q{X z&V~>;TyxHR9#Hgwl#(aM($iy%>^C^AHBXX42q>l4NkvVT^G4uNT{z9sdd-?OYu2n; cv*y(BAJt&`f@3h{G5`Po07*qoM6N<$f+x5}_5c6? diff --git a/mods/base/src/mobs.rs b/mods/base/src/mobs.rs index ace2d953..82e46153 100644 --- a/mods/base/src/mobs.rs +++ b/mods/base/src/mobs.rs @@ -189,7 +189,7 @@ fn chicken_model() -> Model { [0.0, 15.0, -4.0], &[ ([-2.0, -6.0, -2.0], [4.0, 6.0, 3.0], [0.0, 0.0]), - ([-1.0, -4.0, -4.0], [2.0, 2.0, 2.0], [14.0, 0.0]), + ([-1.5, -4.0, -4.0], [3.0, 2.0, 2.0], [14.0, 0.0]), ([-1.0, -2.0, -3.0], [2.0, 2.0, 2.0], [14.0, 4.0]), ], ), @@ -204,6 +204,12 @@ fn chicken_model() -> Model { [31.0, 3.0, 4.0, 3.0], true, ).child_of(0).rotation(0.0, -90.0, 0.0), + polygon( + ModelPart::new("tail", [0.0, 13.0, 2.0]), + [6.0, -6.0], + [36.0, 3.0, 6.0, 6.0], + true, + ).rotation(0.0, -90.0, 0.0), ]) .uv_size(64, 32) }