From deac97621a2f8bb119f0f624f99ee7cba071507d Mon Sep 17 00:00:00 2001 From: Eugene Date: Tue, 28 Jan 2025 15:30:49 +0200 Subject: [PATCH] simplifying the creation of new food items --- projectfiles/Kyiv_cutlet.aseprite | Bin 0 -> 510 bytes .../Sauerkraut_soup/cooking_pot_bottom.png | Bin 0 -> 234 bytes .../Sauerkraut_soup/cooking_pot_parts.png | Bin 0 -> 492 bytes .../Sauerkraut_soup/cooking_pot_side.png | Bin 0 -> 263 bytes .../Sauerkraut_soup/cooking_pot_top.png | Bin 0 -> 257 bytes projectfiles/Sauerkraut_soup/inside.png | Bin 0 -> 1527 bytes .../Sauerkraut_soup/sauerkraut_soup.bbmodel | 1 + projectfiles/fishball.aseprite | Bin 0 -> 768 bytes projectfiles/fishball_atlas.aseprite | Bin 0 -> 768 bytes projectfiles/holubtsi.aseprite | Bin 1079 -> 1623 bytes projectfiles/kyiv_cake/bowl.png | Bin 0 -> 239 bytes projectfiles/kyiv_cake/kyiv_cake_block.png | Bin 0 -> 501 bytes .../kyiv_cake/kyiv_cake_block_leftover.json | 24 ++++ .../kyiv_cake/kyiv_cake_block_stage0.json | 38 ++++++ .../kyiv_cake/kyiv_cake_block_stage1.json | 51 ++++++++ .../kyiv_cake/kyiv_cake_block_stage2.json | 39 ++++++ .../kyiv_cake/kyiv_cake_block_stage3.json | 39 ++++++ projectfiles/kyiv_cake/kyiv_cake_inner.png | Bin 0 -> 243 bytes projectfiles/kyiv_cake/kyiv_cake_side.png | Bin 0 -> 271 bytes projectfiles/kyiv_cake/kyiv_cake_slice.png | Bin 0 -> 483 bytes projectfiles/kyiv_cake/kyiv_cake_top.png | Bin 0 -> 496 bytes projectfiles/kyiv_cake/tray_bottom.png | Bin 0 -> 216 bytes .../kyiv_cake/tray_kyiv_cake_leftover.png | Bin 0 -> 538 bytes projectfiles/kyiv_cake/tray_top.png | Bin 0 -> 269 bytes ...\321\201\321\214\320\272\320\270.aseprite" | Bin 0 -> 614 bytes .../UkrainianDeligthREIClientPlugin.java | 2 +- .../item/BowlReturningFoodItem.java | 11 +- .../item/FoodItemBuilder.java | 47 ++++++- .../item/ModFoodComponents.java | 123 ++---------------- .../registry/ItemGroupRegistry.java | 2 - .../registry/ItemsRegistry.java | 89 +++++-------- .../screen/BrewingKegScreen.java | 3 - .../textures/item/Kyiv_cutlet.png | Bin 0 -> 401 bytes .../textures/item/fishball.png | Bin 0 -> 415 bytes .../{blocks => block}/needs_tool_level_4.json | 0 35 files changed, 292 insertions(+), 177 deletions(-) create mode 100644 projectfiles/Kyiv_cutlet.aseprite create mode 100644 projectfiles/Sauerkraut_soup/cooking_pot_bottom.png create mode 100644 projectfiles/Sauerkraut_soup/cooking_pot_parts.png create mode 100644 projectfiles/Sauerkraut_soup/cooking_pot_side.png create mode 100644 projectfiles/Sauerkraut_soup/cooking_pot_top.png create mode 100644 projectfiles/Sauerkraut_soup/inside.png create mode 100644 projectfiles/Sauerkraut_soup/sauerkraut_soup.bbmodel create mode 100644 projectfiles/fishball.aseprite create mode 100644 projectfiles/fishball_atlas.aseprite create mode 100644 projectfiles/kyiv_cake/bowl.png create mode 100644 projectfiles/kyiv_cake/kyiv_cake_block.png create mode 100644 projectfiles/kyiv_cake/kyiv_cake_block_leftover.json create mode 100644 projectfiles/kyiv_cake/kyiv_cake_block_stage0.json create mode 100644 projectfiles/kyiv_cake/kyiv_cake_block_stage1.json create mode 100644 projectfiles/kyiv_cake/kyiv_cake_block_stage2.json create mode 100644 projectfiles/kyiv_cake/kyiv_cake_block_stage3.json create mode 100644 projectfiles/kyiv_cake/kyiv_cake_inner.png create mode 100644 projectfiles/kyiv_cake/kyiv_cake_side.png create mode 100644 projectfiles/kyiv_cake/kyiv_cake_slice.png create mode 100644 projectfiles/kyiv_cake/kyiv_cake_top.png create mode 100644 projectfiles/kyiv_cake/tray_bottom.png create mode 100644 projectfiles/kyiv_cake/tray_kyiv_cake_leftover.png create mode 100644 projectfiles/kyiv_cake/tray_top.png create mode 100644 "projectfiles/\320\272\320\276\321\202\320\273\320\265\321\202\320\260 \320\277\320\276-\320\272\320\270\321\227\320\262\321\201\321\214\320\272\320\270.aseprite" create mode 100644 src/main/resources/assets/ukrainian_delight/textures/item/Kyiv_cutlet.png create mode 100644 src/main/resources/assets/ukrainian_delight/textures/item/fishball.png rename src/main/resources/data/fabric/tags/{blocks => block}/needs_tool_level_4.json (100%) diff --git a/projectfiles/Kyiv_cutlet.aseprite b/projectfiles/Kyiv_cutlet.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..3b2c4797c76dc437fcb330c6db4ce4abbe0c6ac7 GIT binary patch literal 510 zcmeyz$iVPmDI)_v5GpVLISeU4i~v9}kRXEq5YhtF0Zsq)kp*lk3(x{FAZAwpTZv>{ z7Ld&Xa-9N@p`>8qs$r96Y1kiTeZNrc=7O|$hiCo%WH$3@K-NA3^C@}WnfgKADn>Sz z_Vy(P2~E*?50hvAk3ak5^zA?Y|No!8c6&=*duCQvWLQv{Q`Z_JqnqK$*QG)d+tX}myf(~4&z_M`I7NwrtE?bT^CXhNrfp? ZPOuYb+u1y$qNP>e=-5&*hScQK-T+7!jH&2_uNDh%%(m0?OhzT`pG&b^PHX5VID z$kw!e^tf_9L&8s2CWeW8X}?yvZd9G*x@+#tljr2BCt6nTEN5ica*gM;iQ%(|fTm|1 z{H$&d_fO|a;dKw5(RpvinwcHE)%%0^w^*i`UbNqKyE#hR#j4{5$IRa^SysK_oM;oH ia(}}#qdN!wck*YY_(Ux*@;VQ6FN3G6pUXO@geCz0NL|wa literal 0 HcmV?d00001 diff --git a/projectfiles/Sauerkraut_soup/cooking_pot_parts.png b/projectfiles/Sauerkraut_soup/cooking_pot_parts.png new file mode 100644 index 0000000000000000000000000000000000000000..4e1ce61ddd2ef6c7984a9fb80f2096af9843edef GIT binary patch literal 492 zcmVPx$rb$FWR5*>zkP!z_0_vTJw%$WHDbu1l3q|$|8H{wcM`3}B<8w$Iu@1`L`iFm(xb<(PR#r# iWIWO6!u*ToKf@3E;G4}$um4v70000ujP)Px#!AV3xR5*?8kg<*eF$_c>CzQxWLJL2(-?~3ULqkQeMXaRZ8shUVi>{<$n#A#V zG9LKi^Vs#vIF1h$@y0RS0cJA*%JZD2X$P?Hgv;gXT;wBbL%Q zsCvEby$Gl#QqHId#f+5m%f7w0>0lTJ-%&+4iZGjb7Ci$MA!haCwgO>2e7oNv1RGtr zgI22x%w`Lc1{cN5xeI|FOsmzih=_xmA@+u9qSd# z)-zs(V+<4Y1s|C9g}q*Mds{C<-n!`PcReq+__VMathjZ@Uup|8h9( z8d&wdLNtjda~8{g?g^bT(oc@PnUvmPJl`Us(&^vY#%|MsaM7fIuUU_CKXFy1ED*Q8 z@#yYBld~eOo@$2{WG$Xu&YzVYaDD3bMWwggm;bS^VUV9{pWV?uK^*7}22WQ%mvv4F FO#ov_X~_Tp literal 0 HcmV?d00001 diff --git a/projectfiles/Sauerkraut_soup/inside.png b/projectfiles/Sauerkraut_soup/inside.png new file mode 100644 index 0000000000000000000000000000000000000000..c690ff6fe674486b363af8f276e79e1583855064 GIT binary patch literal 1527 zcmbVMTWB0r7@j6lY}$&pBBg4XPNg*3nK?6iN%xRVv&}?z(TO2lZG=cXIdgV*%+8$Y z%xrcO&<0;>1;IS1RjgPM+KRRk@d5<}5noy_^sz4z|kQ9&tU@t?g6ZK)PJFf(W7 zeCPZB@4p=y9eH4V&*mOM5Y`v+#u&WUMfc6C;rVE7;wN~m@$!!ag0OaDbgvR#eQlE< z+_YjB$HQ^+AxycW5Q|SSrQvvh7KHxY4Uf=i7K&4>Y`aBze**)7!$Kl9oT?k(MpkO_VpvDNRY`0@!s)D(iwuh6=BPNt zeI{lUO{NHGVjrxMX?<5Fvs2WOo={O*)l;&LFw$@;CAKdK%=uOcj~Vy3jlow|s)V73 zRkdEPEA@oJ{j#cMG8q-=s;v*s?1?-7ywp_v0jCTJgD%0p^mq&FaWVN z&Dh2@eQ})FL=Xw+zcOWbz|2(}$kW~%3wB{2>o9^zH*gJJM4(e%PJals8j;!;*HvJz-k zY}>-gw3Y7bgEB!>BcLJKC+|Y(q->>OBZU%_rc0gk2B)J9Tm z4HuOJ&f5VbYqs4Hd)fZ>s%nePD!_zB)t!}SlvZX*?ceqdN1#PpuP`9}k94CqIKPJQo(sO>cf@}^=gUDy~}#G1BXEnE#nacAMp@lE=(>TM%2K8+zgDjQw1Ye z+_CWD!qyF+p<9RPZAWtGaE~%?EPdR4c+1g)Cw^XcEH^dUxMlvk)oazW7w&oE-lrGs zOJ^><)hnI5>xU)0vRu2c_|>u7zb1Dtzy16fcjKR*9NKipo_y1nazUniDdnO}S=6I|4PoILp3meNNjg*RXL_K(dA zr(T|Xa4>N$|My=9whz89JU-EV)IGgZ`tqAQ$p-S$7au-Xjz)7~c*Hol=ZR4qz_zjhjTHl8b_KAN zNS0&)*(@N}DF7Kt3MQ@^HfffI{bAPk3)OBeNPBm9*6&YdGoJ=z?K3c+lINYNALOlK zWMgS>Ut*BZ6rJ}ldG`PKvrkUn{`3F;|JiG|x74*~W@SZ&1(i8K-dRPB+ zudaLpd5}#Cz(9e6|3DTygHK{*YLS8werdx-pjuW128J*HSs4BUeFg#C3|tHqbCMGd z@T;Xn|2wWe|J}+D@=MrS?$4R~?f;!7fiZJ5|1^UUD?!ys;k1Cq;{ z41r<93JkuFK-&=xkYnHhI$-UjwOmY&BCX#8zp%bxo2_7WnC&C0OAYhxgK0(*e;hYN z97(^i>X6#(g9#fm4C5@B-PavH^M-FnLE#?j^nJzeawfIRuem!l=icO|-1@8Y)k7I*wpxcAp>;oq}cmhIV@ zmmBi9c)nCF-(46iw)j~2K0SVm$yMhjm3!I#zsy|nx9n)f2KUdoZSUh^tImZzFR49$ z<g_17*c>30TdV*L4phdKu8PFz{J4t>mwW3RyLpoVnEEU0Jajz zx-1}@g#jq40AwgBn7C@#q*)sFhgsh*RJ*w#?cL#7zdxDHd>W9o&%k_2o_D5xkhhAF zjitSPi9teBbl$_{+5h9uJ~@5+&;S4bXRqDfQrDiDl@%ElROZyR#>nVqc=Gk?UH#L& zy7CR=K{hD>0|gHL16k}0K8cm7MG8jvr41W_YFQOPZe?Nk5A+!Xa5Hc*RLn_EIKZ!# z68-PE`uuk*Kgcg(Yq>vX?zjJUngrIoa(orGeOJTB@6V?nc$HvcR%)=>A84gG;Ycd3e z5i2nG7#Wz593aQQ19ZUJNo%>797S5c2Yz9F!!}#N>@eF$R+k#)-3QZ*B>p&Vh&Ymd zW7Q$G*#{FgW*Ej#a5jQdtOp|{>r22 zKW9#stGPdEZF=3aCG8WYxuykPn;`cl;M#@9yUrWc*uIxo_N}k$;k2vu47a%divR#o CmI?X* literal 0 HcmV?d00001 diff --git a/projectfiles/holubtsi.aseprite b/projectfiles/holubtsi.aseprite index dab15f4b2593944188d8264d4ca6ed0c30dbf3c8..9e367136e0d157922f79e67c3962d15539128772 100644 GIT binary patch delta 1255 zcmV(A6G0Tlc>!O<81;fbLjMHX0@_fqM1!b7Vp0=I1tmlh3<;W0g4Sy71qs^dMTxQM zjaR;b-g{+y3E$wzH_54g<7Rf}Oe^dfdy;xo76(magl^*a`Q-R*KNlb>Xefd~<8m${qB&D>GO(n{#Sy8@JbADRVdb zG4YmLg*Nj_J?G2q$7^Gj@JN|;-qpQJs+X!+BeVX@nY!E0U2>0q*WWwOr&NR4?-@BN zk0tkcd6{|T#k4Q)QF?5fB)N_AHQmXM-8u>K@~a@H;0=@83y2FlnXl!Qai`)tUc= zOcq9->ec^OF8MVIdYAlasz!RSE4|D5yf@r0$*(3>^qcErs;jFLPI_jL=4X9xxI!0{ zUroIA^(?)e99F!|8x!>EN`iJ4$HdGo`Pu6&GY92YuO7UAU~SAM>D`4Gz0W4;Abn0T z|Ly$j&4RkdFTeWf!3_3~i9z}>GC&8JVR|q(sW)62_o#k`+STA5wf z=R8;_kE@pC*C0JSt}JI1bMtU6UJsoS>81JElwYx~Ex+3IyTugk&%_n)=aXlDqNRFU zem3P-W|lsGGtl39l=(vsX6BXXUGlRxzhXUUe)Z}L+mlL)}jdYAm%ZGH_~->Y6lxpI{lafi)fE9Ttzl%dv-HFb?Dx6b;7b`&pukKapD z)I4VvFrvW=Zk?4q=Y539TV703WBoMY%Kq{!=&bBjJMSe-=Hk@^eQ)LITk%Aj+v_Xu zgI|jRGkpHKH=>xq1V;9id86Vn7r4c%1E(y@~=c z6oq{+MMTy{Mp$fQ1;s)u-D1VvLJ%!P8&Sc+%FaTjwDkdeh<%vI4IH>gew3Mn49tPU z#2Lx`=FUk{D7ew={3T#VC9G;}ih|qre_~z51Iau-ev09?E_#cqSATx6#{U!P>Gea} z#Ls*EcWR37eI&=NiT#~jFyF=cC3emYc3+tRGx32L+`pH$yieECPg%>3tZ=*TIheW8 zcjC3NcV`s=`{Y)!>#}0%xyr7&RqWvB%sOt;Xcu|UijE!Gw=vVVS>F0`4+JyqiD`4A z4#qH^gOl4fC)NXviD(y2ll!?2)*(5`ob-)42lwX=ufy|^WKPOeZC>)Sm!Qr&XS_+T zW-F<9op&;wD_5@Y#m^g8=Z*`hIJ3a6V+@(yl#5U^W8(^u88WTK(7AQLL*^!_*h9_s RvrK)@g0j?Wt_N^I)f=hCb)f(N delta 707 zcmV;!0zCcK47UgiHv|9x;H3coFaRKt3v~^*0{{T}@df~700006k&VZHl>z_&1t0(b z0ssI2{{jF200000001li9{_lq?U-Ln8$lGs^LeCTAJo*w1Wls0i`G9_#6MUOQZS}T z2~t53RM29z(U=Dz8uTGjs`kAf%Wp7x2Ckh>XLj#oYYgbXA&|_O``f#-vxh_?!DDhc zCLqStM;*lZr8X{dWzU&^nf%SVUScJ2Yufl4VV>Ve3W!q^Jym%>Z1e^)`~B|93(ocW zl&tN?toN168|GR}tUH&Pd)`82*vM>S4dUgnaCueM;_;}|Qpx*=SAD)r3VW|PbM(G` zIvkP$ukL@y-g4&Yti)S58ZojyWN(A!5i9Xxze3>6e;>2*&Tl4v@8$BGan4!WZ(#jg z84+{qy;8Jq!Mn6KWMzGq?U0&YjZ5B-yZsHF2`*S$-=YeVMM&9=(FLw=k z--1=;ZS{QB>}>RZJf6nj=Fe8}bMvQd)KXoc{M`C$KW&`Q`AnZwsW{-|Ck9Ub zRj&!3@YwRFjkU7ki64XAlC?fNAWq-M#n;6?r~Asuzj{xJ*Oos`b-)VF+GIlfd>a#2 zUP4@?UP<2nnSb>>r_ML!Pg@-byx{&7?-JLqJHbvGoKVJC1{6%e)-pwKZ%$7e89i3mHx{QUSj3=x%pSmpQy#jpC*51dr)2|F~M+hgab|Uke%&ywCm5w=*;}0D_JWf0HK&CpT+XeR(C$3<5rK zHx1lUq+Ngf6D%=0^Psr=pMlJtUsESujGO)2-cV{|qxt+95)bkw2`4)jni=X;}GMrA3#B#^ml(;4BtF_UEks0!e-Dcx93;i gRZ)Z9W_AV!*NrxB53ioy1#~onr>mdKI;Vst0LmX-o&W#< literal 0 HcmV?d00001 diff --git a/projectfiles/kyiv_cake/kyiv_cake_block.png b/projectfiles/kyiv_cake/kyiv_cake_block.png new file mode 100644 index 0000000000000000000000000000000000000000..5e6e675d840c347f2f595236dc71bbfc8ca6c964 GIT binary patch literal 501 zcmVPx$uSrBfR5*>rlRrpXQ5431@9`)%(WuCKZ?ObIg$&t(Ai+Q!M2d)@l0X-SmLi?h zLFi(TW+^yWyE(M0gNs9^;vWPTAru#fLIxE|XcCIa8+s#>=aA;cJPsn2n72nl}apa<}nAFT$LNGcaVzpx$#kh zXgI~*@eyCwQXY{{-%hC3TbE`IG$|AtTvwW!nno(t=eCn!`vuW(N95PdDF8R+I|{`H r0N0hK20nkGEp%1>=c(c`@yYA~7kZFp!A09t00000NkvXXu0mjf9!uWZ literal 0 HcmV?d00001 diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_leftover.json b/projectfiles/kyiv_cake/kyiv_cake_block_leftover.json new file mode 100644 index 0000000..001e7cf --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_leftover.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "tray_side": "ukrainian_delight:tray_bottom", + "particle": "ukrainian_delight:tray_kyiv_cake_leftover", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage0.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage0.json new file mode 100644 index 0000000..4d600ef --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage0.json @@ -0,0 +1,38 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_top": "ukrainian_delight:tray_top", + "tray_side": "ukrainian_delight:tray_bottom" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [2, 2, 2], + "to": [14, 8, 14], + "faces": { + "north": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "east": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage1.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage1.json new file mode 100644 index 0000000..1cae704 --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage1.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_side": "ukrainian_delight:tray_bottom", + "inner": "ukrainian_delight:kyiv_cake_inner", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [8, 2, 2], + "to": [14, 8, 8], + "faces": { + "north": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "east": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 10, 8, 16], "texture": "#inner"}, + "up": {"uv": [8, 2, 14, 8], "texture": "#top"} + } + }, + { + "name": "pie", + "from": [2, 2, 8], + "to": [14, 8, 14], + "faces": { + "north": {"uv": [2, 10, 14, 16], "texture": "#inner"}, + "east": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 8, 14, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage2.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage2.json new file mode 100644 index 0000000..1ab6cf1 --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage2.json @@ -0,0 +1,39 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_side": "ukrainian_delight:tray_bottom", + "inner": "ukrainian_delight:kyiv_cake_inner", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [2, 2, 8], + "to": [14, 8, 14], + "faces": { + "north": {"uv": [2, 10, 14, 16], "texture": "#inner"}, + "east": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "south": {"uv": [2, 10, 14, 16], "texture": "#side"}, + "west": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 8, 14, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_block_stage3.json b/projectfiles/kyiv_cake/kyiv_cake_block_stage3.json new file mode 100644 index 0000000..a25b1b9 --- /dev/null +++ b/projectfiles/kyiv_cake/kyiv_cake_block_stage3.json @@ -0,0 +1,39 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "particle": "ukrainian_delight:kyiv_cake_top", + "top": "ukrainian_delight:kyiv_cake_top", + "side": "ukrainian_delight:kyiv_cake_side", + "tray_side": "ukrainian_delight:tray_bottom", + "inner": "ukrainian_delight:kyiv_cake_inner", + "tray_top": "ukrainian_delight:tray_kyiv_cake_leftover" + }, + "elements": [ + { + "name": "plate", + "from": [1, 0, 1], + "to": [15, 2, 15], + "faces": { + "north": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "east": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "south": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "west": {"uv": [1, 11, 15, 13], "texture": "#tray_side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#tray_top"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#tray_side", "cullface": "down"} + } + }, + { + "name": "pie", + "from": [2, 2, 8], + "to": [8, 8, 14], + "faces": { + "north": {"uv": [8, 10, 14, 16], "texture": "#inner"}, + "east": {"uv": [2, 10, 8, 16], "texture": "#inner"}, + "south": {"uv": [2, 10, 8, 16], "texture": "#side"}, + "west": {"uv": [8, 10, 14, 16], "texture": "#side"}, + "up": {"uv": [2, 8, 8, 14], "texture": "#top"} + } + } + ] +} \ No newline at end of file diff --git a/projectfiles/kyiv_cake/kyiv_cake_inner.png b/projectfiles/kyiv_cake/kyiv_cake_inner.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa111337cd2ada472bc86ff47b56deb7c3648f2 GIT binary patch literal 243 zcmVB;(~~%!wC`{P{TEF9b9^|=xgTx z`G4Sp5B>udBiZjZ=B*`!K#Y;LZSmee8FJ42{$&p5?*%|HF6!M1kuOyBHd(&O^fbr( z+~B9#nut)AB`GCB2s4|A0MPe60PFfRZ%|d$Brb~Lp~=-OBA6M@Ih=EM?MPBev&3N- tW?WS#b=}MFV~mq_#04l~Jt(2H@00)l002ovPDHLkV1m3jXD0vv literal 0 HcmV?d00001 diff --git a/projectfiles/kyiv_cake/kyiv_cake_side.png b/projectfiles/kyiv_cake/kyiv_cake_side.png new file mode 100644 index 0000000000000000000000000000000000000000..1a1a03f8d03ba029f618cde1c4c1058c9b691170 GIT binary patch literal 271 zcmV+q0r38bP)zdEX$5}mjmRXL=?awa~jRe zjz$Y7obVqYd-Alt@*n|o1Hch-N;MdQpo_9Lff_g48u@8fN>lFXqu)Ld;x9P VQ8peCzJ34z002ovPDHLkV1ihgXm|hs literal 0 HcmV?d00001 diff --git a/projectfiles/kyiv_cake/kyiv_cake_slice.png b/projectfiles/kyiv_cake/kyiv_cake_slice.png new file mode 100644 index 0000000000000000000000000000000000000000..826d7a2dcf2c692671087f5cef8ab5b92c07873f GIT binary patch literal 483 zcmV<90UZ8`P)Px$ok>JNR5*>rlD}&jaTvxwXAX1fc?m_O5D+puHcJS>MS@*~7?48$h_2~SOWGlU z4xwXOB!56cIy6%#1wk@N$l|2XS}1}-OYcX#q~3iyT<-L&I2HO%FTBt5ywCG~zwp0H znm63tS`#e9z!`FI(VU5$E3jXBB>euD?Lnu7BJ;>A=?4HLlS!5o!IC1_eY`0qaq=|r z^!h-wt0z1wyuh|?&Z+Tz@M8>ch9Uf44o0I9tJQ7ZetHcMkPF3SO63)vK6x0zha4PM zHiRt8e0lW&fTPA63dLmrGU*fmhGEVY*jbMW+qP*}PXH)avgo=V5CMMQdiL|Vgs8VH z3GQDZpGydUch9%bbsbI9P!^*BF&09Fuk!EU$C)NJJGUVR-GMtk;$-JRovo_N<2U3CBe002ovPDHLkV1oZ<)vN#j literal 0 HcmV?d00001 diff --git a/projectfiles/kyiv_cake/kyiv_cake_top.png b/projectfiles/kyiv_cake/kyiv_cake_top.png new file mode 100644 index 0000000000000000000000000000000000000000..2dee31679ffeb057859f258968f73b6429cb1236 GIT binary patch literal 496 zcmVkiJU+xOD6~#u%Q@ zJ;qwg%O6YqVFPOC22%YahsI7$}a}Bm4!d-k8+7pww;v0000j!}DTZ^)4{QH8VPf6X&){o+w(s;; zvmOU6kLHZC+#jOET=Q->ol)Gdg6gsa>y@ak6P9LuSmoezh&yj^+!t z)|WG7FJ%h29sTOp0b@-S3mlxRSJPA9>AiWw_r3YPd9csW0A|jaL4Tjd z5%W~6*^pZ*kMlMzN20oGu(I>Mh zGM34^FG~RA(s}Aave8-tbS$$&VQ3-(*bO~Q7VUK^E6V_sOGUEB4>NNmLoS`iGCK&V zv#?qtW0?T>+JQI#fMs?#bTFmrAPBg6`2+wbk0lr$II2imt?Dj7R4jle&ptC%9KiED z48x#YDyk_hvlF|kCYa0)BV@O<-71gfHmJP%iR-#Jj-#fyf8zo#?@aa9V0vUsHM-(K zDwU#Ceyh$M$KmPxrm|I!dK@}1J~)byI<{No*5fzi(s{-QM*;Zu>3eS%p5H#t!<&}? zs0#_e_KwHbAHT_1CUqg%-tm}UTI;QW@B1{HP3~R4i0xKmVpUd_)ssS zh18jwJ&R!&0L(skO<`z)h1D7jUnu92{I&7g-RM`{WoftDin%T%4PV42*mIfoS|t8i cCiWYD00|+_L*2TQwEzGB07*qoM6N<$f*Zm3kpKVy literal 0 HcmV?d00001 diff --git a/projectfiles/kyiv_cake/tray_top.png b/projectfiles/kyiv_cake/tray_top.png new file mode 100644 index 0000000000000000000000000000000000000000..211234fb96bdb6e7c5ed49906ecde568d501dfcc GIT binary patch literal 269 zcmV+o0rLKdP)DD(V&Z25Rum7JQZbT!Gz! zuO&yIuW$AK%*-!_r^uqL4BO_R+gzYKc95OThX5eSTjEXN9E^hR$dbGr75@rvPJ&lr TN!sm900000NkvXXu0mjfy#{gF literal 0 HcmV?d00001 diff --git "a/projectfiles/\320\272\320\276\321\202\320\273\320\265\321\202\320\260 \320\277\320\276-\320\272\320\270\321\227\320\262\321\201\321\214\320\272\320\270.aseprite" "b/projectfiles/\320\272\320\276\321\202\320\273\320\265\321\202\320\260 \320\277\320\276-\320\272\320\270\321\227\320\262\321\201\321\214\320\272\320\270.aseprite" new file mode 100644 index 0000000000000000000000000000000000000000..e3a650e1ccd33bf4270c81166da01648f7c81885 GIT binary patch literal 614 zcmYdeVqkc%l#xLJ3>g_17*c>30TdV*L4phdKu8Pl3~2hVk8EID*?<;^0WrG**h(bp zvVd$B2B4?{kfEet;;LbjW@*?TW_`a@#`U3+F$R%BREnN!yqBcq$)$=9oQ^-uTe z$~TY)*`&Y>Bw^q`kipL2lUSKrq+p0&+UN>UEvo_p(4|Za|A8S30elR+3>9;d6Atj7 zinaXze3o&OA>&ewsx;SvKkvC8FkGm$gs0#}T{ize3NN?FXkmtl!DZ zJmc6h{v~2d_?Gc6d;WKxsfI*k{&xN&HZyJ->@}!m3^qOZWS+_T zxcSQqbHjwI%tGul*$;gW_jA6;{YZY!m4@K?Ni57W*j6&HWPI6r)Oyo?hhGlQ8m=6C z<8+OkD|kX&P9py#_Lr?M-LE-otebeZ>1^x^pzA08T<-#;Sb;IZ%D{=_Ck_TSh@bfE p=JfvRcjn?*x6bf?zyI0JmthH&Go&U|)jShOmNzS8=+Bk^2>|sltf>G1 literal 0 HcmV?d00001 diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java b/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java index 14e2c08..a25df2c 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/compat/UkrainianDeligthREIClientPlugin.java @@ -1,4 +1,4 @@ -package com.megatrex4.ukrainian_dlight.compat; +//package com.megatrex4.ukrainian_dlight.compat; //import me.shedaniel.rei.api.client.plugins.REIClientPlugin; //import net.minecraft.client.resource.language.I18n; diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java b/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java index 2b25932..f1696bc 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/item/BowlReturningFoodItem.java @@ -3,13 +3,17 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; +import net.minecraft.item.Item; +import net.minecraft.registry.Registries; import net.minecraft.world.World; +import net.minecraft.util.Identifier; public class BowlReturningFoodItem extends ToolTipHelper { + private final Identifier bowlId; // Store the bowl identifier - public BowlReturningFoodItem(Settings settings) { + public BowlReturningFoodItem(Settings settings, Identifier bowlId) { super(settings); + this.bowlId = bowlId; // Initialize with the bowl identifier } @Override @@ -18,7 +22,8 @@ public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) { if (user instanceof PlayerEntity) { PlayerEntity player = (PlayerEntity) user; - ItemStack bowlStack = new ItemStack(Items.BOWL); + Item bowlItem = Registries.ITEM.get(bowlId); // Retrieve the bowl item based on the identifier + ItemStack bowlStack = new ItemStack(bowlItem); boolean addedToInventory = player.getInventory().insertStack(bowlStack); diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java b/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java index 0f3a492..e5dda61 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/item/FoodItemBuilder.java @@ -3,39 +3,78 @@ import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Identifier; public class FoodItemBuilder { private FoodComponent foodComponent; private int maxCount = 64; private Boolean returnsBowl = false; + private Boolean isSnack = false; + private Identifier bowlId = new Identifier("minecraft", "bowl"); + // Set the food component public FoodItemBuilder food(FoodComponent foodComponent) { this.foodComponent = foodComponent; return this; } + // Set the max count public FoodItemBuilder maxCount(int maxCount) { this.maxCount = maxCount; return this; } + // Set bowl return flag public FoodItemBuilder returnsBowl() { this.returnsBowl = true; return this; } - public FoodItemBuilder returnsBowl(boolean returnsBowl) { - this.returnsBowl = returnsBowl; + public FoodItemBuilder returnsBowl(Identifier bowlId) { + this.returnsBowl = true; + this.bowlId = bowlId; + return this; + } + + // Set snack flag + public FoodItemBuilder snack() { + this.isSnack = true; return this; } + public FoodItemBuilder snack(boolean isSnack) { + this.isSnack = isSnack; + return this; + } + + // Build the item public Item build() { FabricItemSettings settings = new FabricItemSettings().maxCount(maxCount); if (foodComponent != null) { + if (isSnack) { + // Adjust the food component to set it as a snack + FoodComponent.Builder foodBuilder = new FoodComponent.Builder() + .hunger(foodComponent.getHunger()) + .saturationModifier(foodComponent.getSaturationModifier()) + .snack(); + + if (foodComponent.isAlwaysEdible()) { + foodBuilder.alwaysEdible(); + } + + foodComponent.getStatusEffects().forEach(pair -> + foodBuilder.statusEffect(pair.getFirst(), pair.getSecond()) + ); + + foodComponent = foodBuilder.build(); + } settings.food(foodComponent); } - if (returnsBowl != null && returnsBowl) { - return new BowlReturningFoodItem(settings); + + // If the item returns a bowl, give the player the bowl item after consuming + if (returnsBowl) { + return new BowlReturningFoodItem(settings, bowlId); } else { return new ToolTipHelper(settings); } diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java b/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java index e234ffe..9624bb9 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/item/ModFoodComponents.java @@ -1,122 +1,23 @@ package com.megatrex4.ukrainian_dlight.item; -import net.minecraft.item.FoodComponents; -import vectorwing.farmersdelight.common.registry.ModEffects; -import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.item.FoodComponent; - public class ModFoodComponents { - // Retrieve the StatusEffect instances using the EffectsRegistry - public static final StatusEffect COMFORT = ModEffects.COMFORT.get(); - public static final StatusEffect NOURISHMENT = ModEffects.NOURISHMENT.get(); - - // MEALS - public static final FoodComponent VARENYK = new FoodComponent.Builder() - .hunger(6) - .saturationModifier(0.40f) - .statusEffect(new StatusEffectInstance(COMFORT, 25*20, 0), 1.0F) - .build(); - - public static final FoodComponent BORSCHT = new FoodComponent.Builder() - .hunger(15) - .saturationModifier(1f) - .statusEffect(new StatusEffectInstance(NOURISHMENT, 3*60*15, 0), 1.0F) - .statusEffect(new StatusEffectInstance(COMFORT, 5*60*15, 0), 1.0F) - // .statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 3*20, 3), 1.0f) - .build(); - - public static final FoodComponent LEAN_BORSCHT = new FoodComponent.Builder() - .hunger(15) - .saturationModifier(1f) - .statusEffect(new StatusEffectInstance(NOURISHMENT, 3*60*15, 0), 1.0F) - .statusEffect(new StatusEffectInstance(COMFORT, 5*60*15, 0), 1.0F) - .build(); - - // INGREDIENTS - public static final FoodComponent HORSERADISH = new FoodComponent.Builder() - .hunger(2) - .saturationModifier(0.15f) - .build(); - - public static final FoodComponent CUCUMBER = new FoodComponent.Builder() - .hunger(2) - .saturationModifier(0.15f) - .build(); - - public static final FoodComponent CUTTED_CUCUMBER = new FoodComponent.Builder() - .hunger(1) - .saturationModifier(0.1f) - .build(); - - public static final FoodComponent APPLE_SLICE = new FoodComponent.Builder() - .hunger(3) - .snack() - .saturationModifier(0.2f) - .build(); - - public static final FoodComponent DRIED_APPLE_SLICE = new FoodComponent.Builder() - .hunger(4) - .snack() - .saturationModifier(0.23f) - .build(); - - public static final FoodComponent HOMEMADE_SAUSAGE = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent CHERRY_BERRY = new FoodComponent.Builder() - .hunger(1) - .snack() - .saturationModifier(0.1f) - .build(); - - public static final FoodComponent COTTAGE_CHEESE = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent SALO = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent APPLE_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent CABBAGE_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent MEAT_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent POTATO_PYRIZHOK = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent BAKED_POTATOS_N_MUSHROOMS = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); - - public static final FoodComponent BAKED_PUMPKIN_SLICE = new FoodComponent.Builder() - .hunger(5) - .saturationModifier(0.25f) - .build(); + public static FoodComponent createFoodComponent(int hunger, float saturation, StatusEffectInstance... effects) { + FoodComponent.Builder builder = new FoodComponent.Builder() + .hunger(hunger) + .saturationModifier(saturation); + if (effects != null) { + for (StatusEffectInstance effect : effects) { + if (effect != null) { + builder.statusEffect(effect, 1.0F); + } + } + } - // Ensure that the class is initialized - public static void init() { - // This method is empty, but it ensures that the class is initialized + return builder.build(); } } diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java index 7378fa6..fc9771a 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemGroupRegistry.java @@ -71,8 +71,6 @@ public class ItemGroupRegistry { entries.add(ItemsRegistry.RED_KRASHANKA); entries.add(ItemsRegistry.WHITE_KRASHANKA); entries.add(ItemsRegistry.YELLOW_KRASHANKA); - - }).build()); public static final ItemGroup JARS_UKRAINIAN_DELIGHT = Registry.register(Registries.ITEM_GROUP, diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java index a471349..65993a7 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/registry/ItemsRegistry.java @@ -7,67 +7,33 @@ import com.megatrex4.ukrainian_dlight.item.ModFoodComponents; import com.megatrex4.ukrainian_dlight.item.KrashankyItem; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; +import vectorwing.farmersdelight.common.registry.ModEffects; import java.util.List; -public class ItemsRegistry { - - // Define items using the ItemBuilder - public static final Item VARENYK = registerItem("varenyk", new FoodItemBuilder() - .food(ModFoodComponents.VARENYK) - .build()); - - public static final Item BORSCHT = registerItem("borscht", new FoodItemBuilder() - .food(ModFoodComponents.BORSCHT) - .maxCount(16) - .returnsBowl() - .build()); - - public static final Item LEAN_BORSCHT = registerItem("lean_borscht", new FoodItemBuilder() - .food(ModFoodComponents.LEAN_BORSCHT) - .maxCount(16) - .returnsBowl() - .build()); - - public static final Item HORSERADISH = registerItem("horseradish", new FoodItemBuilder() - .food(ModFoodComponents.HORSERADISH) - .build()); - - public static final Item CUCUMBER = registerItem("cucumber", new FoodItemBuilder() - .food(ModFoodComponents.CUCUMBER) - .build()); - - public static final Item CUTTED_CUCUMBER = registerItem("cutted_cucumber", new FoodItemBuilder() - .food(ModFoodComponents.CUTTED_CUCUMBER) - .build()); - - public static final Item APPLE_SLICE = registerItem("apple_slice", new FoodItemBuilder() - .food(ModFoodComponents.APPLE_SLICE) - .build()); - - public static final Item DRIED_APPLE_SLICE = registerItem("dried_apple_slice", new FoodItemBuilder() - .food(ModFoodComponents.DRIED_APPLE_SLICE) - .build()); - - public static final Item HOMEMADE_SAUSAGE = registerItem("homemade_sausage", new FoodItemBuilder() - .food(ModFoodComponents.HOMEMADE_SAUSAGE) - .build()); +import static com.megatrex4.ukrainian_dlight.item.ModFoodComponents.*; - public static final Item CHERRY_BERRY = registerItem("cherry_berry", new FoodItemBuilder() - .food(ModFoodComponents.CHERRY_BERRY) - .build()); +public class ItemsRegistry { - public static final Item COTTAGE_CHEESE = registerItem("cottage_cheese", new FoodItemBuilder() - .food(ModFoodComponents.COTTAGE_CHEESE) - .build()); - public static final Item SALO = registerItem("salo", new FoodItemBuilder() - .food(ModFoodComponents.SALO) - .build()); + public static final Item VARENYK = registerFoodItem("varenyk", createFoodComponent(6, 0.40f), 64, false, false); + public static final Item BORSCHT = registerFoodItem("borscht", createFoodComponent(15, 1f, new StatusEffectInstance(ModEffects.COMFORT.get(), 5 * 60 * 20), new StatusEffectInstance(ModEffects.NOURISHMENT.get(), 3 * 60 * 20)), 16, true, false); + public static final Item LEAN_BORSCHT = registerFoodItem("lean_borscht", createFoodComponent(8, 0.8f, new StatusEffectInstance(ModEffects.COMFORT.get(), 3 * 60 * 20)), 16, true, false); + public static final Item HORSERADISH = registerFoodItem("horseradish", createFoodComponent(6, 0.15f), 64, false, false); + public static final Item CUCUMBER = registerFoodItem("cucumber", createFoodComponent(2, 0.3f), 64, false, false); + public static final Item HOMEMADE_SAUSAGE = registerFoodItem("homemade_sausage", createFoodComponent(7, 0.6f), 64, false, false); + public static final Item CUTTED_CUCUMBER = registerFoodItem("cutted_cucumber", createFoodComponent(1, 0.1f), 64, false, true); + public static final Item APPLE_SLICE = registerFoodItem("apple_slice", createFoodComponent(3, 0.2f), 64, false, true); + public static final Item DRIED_APPLE_SLICE = registerFoodItem("dried_apple_slice", createFoodComponent(3, 0.2f), 64, false, true); + public static final Item CHERRY_BERRY = registerFoodItem("cherry_berry", createFoodComponent(3, 0.2f), 64, false, true); + public static final Item COTTAGE_CHEESE = registerFoodItem("cottage_cheese", createFoodComponent(3, 0.2f), 64, false, false); + public static final Item SALO = registerFoodItem("salo", createFoodComponent(3, 0.2f), 64, false, false); // Simple items without specifying maxCount, defaults to 64 @@ -114,8 +80,6 @@ public class ItemsRegistry { YELLOW_KRASHANKA ); - - // Register items public static Item registerItem(String name, Item item) { return Registry.register(Registries.ITEM, new Identifier(UkrainianDelight.MOD_ID, name.toLowerCase()), item); @@ -124,4 +88,23 @@ public static Item registerItem(String name, Item item) { public static void registerModItems() { UkrainianDelight.LOGGER.info("Registering Mod Items for " + UkrainianDelight.MOD_ID); } + + // Main method with the optional Identifier parameter + private static Item registerFoodItem(String name, FoodComponent foodComponent, int maxCount, boolean returnsBowl, boolean isSnack, Identifier bowlId) { + FoodItemBuilder builder = new FoodItemBuilder() + .food(foodComponent) + .maxCount(maxCount); + + if (returnsBowl) { + builder.returnsBowl(bowlId); + } + if (isSnack) builder.snack(); + + return registerItem(name, builder.build()); + } + + // Overloaded method to handle the case where the bowl identifier is not provided (returns default bowl) + private static Item registerFoodItem(String name, FoodComponent foodComponent, int maxCount, boolean returnsBowl, boolean isSnack) { + return registerFoodItem(name, foodComponent, maxCount, returnsBowl, isSnack, new Identifier("minecraft", "bowl")); + } } diff --git a/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java b/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java index 279bec8..da55a28 100644 --- a/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java +++ b/src/main/java/com/megatrex4/ukrainian_dlight/screen/BrewingKegScreen.java @@ -93,7 +93,6 @@ private void renderProgressBar(DrawContext context, int x, int y) { } } - @Override public void render(DrawContext context, int mouseX, int mouseY, float delta) { renderBackground(context); @@ -109,7 +108,6 @@ protected void drawMouseoverTooltip(DrawContext context, int mouseX, int mouseY) } } - protected void drawMouseoverTankTooltip(DrawContext context, int mouseX, int mouseY) { int x = (width - backgroundWidth) / 2; int y = (height - backgroundHeight) / 2; @@ -120,7 +118,6 @@ protected void drawMouseoverTankTooltip(DrawContext context, int mouseX, int mou } } - private boolean isMouseAboveArea(int pMouseX, int pMouseY, int x, int y, int offsetX, int offsetY, FluidStackRenderer renderer) { return MouseUtil.isMouseOver(pMouseX, pMouseY, x + offsetX, y + offsetY, renderer.getWidth(), renderer.getHeight()); } diff --git a/src/main/resources/assets/ukrainian_delight/textures/item/Kyiv_cutlet.png b/src/main/resources/assets/ukrainian_delight/textures/item/Kyiv_cutlet.png new file mode 100644 index 0000000000000000000000000000000000000000..3e66119e71da0dd980d511171e004c8fff79bbbb GIT binary patch literal 401 zcmV;C0dD?@P)Px$OG!jQR49?f(mzN7VHn5p@0}?eC?qxIBo2)s1xgSFDh)O2QcF$Ipj$Xd1woTT zflbj64Gke}5e*Fy2u?vo&=3cLLrD;)o&UhMp)^lV9U6MJ7k;1jdEe)K;lD~66o`iu zp=%WYQdwch_r>v$B0M94QccEgYw(~}4I9Y)a62s3x}!aDJfw(rXtyOH zU=w=*X08IQ^;RN6v0wo(f2#YZM?T))xShY|ZsWJZ^tg?JF5zF#NW+t-=AR_$lSFuV v8-UTVOI&UbXUX%fk70_N8*~PG!9Uj*U-5iH6z4xQ00000NkvXXu0mjfTN|RF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ukrainian_delight/textures/item/fishball.png b/src/main/resources/assets/ukrainian_delight/textures/item/fishball.png new file mode 100644 index 0000000000000000000000000000000000000000..f7170bfaeefa0e40733894eb0213743862c7d86f GIT binary patch literal 415 zcmV;Q0bu@#P)Px$SxH1eR5*>*ks(Y1VHk#=a}0(|*jW@D!&#JKrBDTIBnK8pG7$_^0>MHs5wI|t zGeP1sQ`ksn0O!Ua$Q9-d9HM}p>CQvMIg9g4|G)k3^M3F9!@n507}KifhuW{i%|ck~ zm!jH8k+o(aJO>fJ6S_q^)<6b;j+DY?TVZv1iYrIg5 zQPdH>NS1YA*sUUp;zxvLA*@OD0RV};H74E=4o{Gdl;WoQ%H!~bcrr&vN*S=32*>-I znt#j9hR4BucW8hB!&xs<7tWQaLmDlGlY?!f`T(cPLOhu>Ixx4d&ys$~SK30Or2uet zd5hC!VbGrfU=3tY)X`_{*WYN~Mvr37{3C!4G2io*_QJP+JMUTgm