From 2c24ad385d206bd919c35f39bfad926c7c375ad1 Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Mon, 16 Jun 2025 23:57:48 -0500 Subject: [PATCH] Revert "Active/food (#1176)" (#1177) This reverts commit 6c3fce648b43cd91994692aac3b811d23621deb7. --- .../quests/chapters/lv__low_voltage.snbt | 2 +- .../machines/food_oven/overlay_front.png | Bin 248 -> 0 bytes .../food_oven/overlay_front_active.png | Bin 292 -> 0 bytes .../overlay_front_active_emissive.png | Bin 241 -> 0 bytes .../food_oven/overlay_front_emissive.png | Bin 149 -> 0 bytes .../machines/food_processor/overlay_back.png | Bin 75 -> 0 bytes .../food_processor/overlay_back_active.png | Bin 75 -> 0 bytes .../overlay_back_active.png.mcmeta | 5 - .../machines/food_processor/overlay_front.png | Bin 380 -> 0 bytes .../food_processor/overlay_front_active.png | Bin 919 -> 0 bytes .../overlay_front_active.png.mcmeta | 5 - .../overlay_front_active_emissive.png | Bin 659 -> 0 bytes .../overlay_front_active_emissive.png.mcmeta | 5 - .../food_processor/overlay_front_emissive.png | Bin 149 -> 0 bytes .../machines/food_processor/overlay_side.png | Bin 334 -> 0 bytes .../food_processor/overlay_side_active.png | Bin 683 -> 0 bytes .../overlay_side_active.png.mcmeta | 5 - .../machines/food_processor/overlay_top.png | Bin 348 -> 0 bytes .../food_processor/overlay_top_active.png | Bin 542 -> 0 bytes .../overlay_top_active.png.mcmeta | 5 - .../food_refrigerator/overlay_back.png | Bin 592 -> 0 bytes .../food_refrigerator/overlay_back_active.png | Bin 504 -> 0 bytes .../overlay_back_active.png.mcmeta | 5 - .../overlay_back_active_emissive.png | Bin 184 -> 0 bytes .../overlay_back_active_emissive.png.mcmeta | 5 - .../overlay_back_active_emissive_ref.gif | Bin 785 -> 0 bytes .../overlay_back_active_ref.gif | Bin 4697 -> 0 bytes .../food_refrigerator/overlay_bottom.png | Bin 75 -> 0 bytes .../food_refrigerator/overlay_front.png | Bin 350 -> 0 bytes .../overlay_front_active.png | Bin 364 -> 0 bytes .../food_refrigerator/overlay_side.png | Bin 361 -> 0 bytes .../food_refrigerator/overlay_top.png | Bin 250 -> 0 bytes kubejs/client_scripts/tooltips.js | 5 +- kubejs/server_scripts/firmalife/recipes.js | 301 +++++++++ .../gregtech/recipes.machines.js | 12 + kubejs/server_scripts/tfc/recipes.js | 47 ++ kubejs/server_scripts/tfc/recipes.machines.js | 165 ++++- kubejs/server_scripts/tfg/recipes.food.js | 620 ------------------ kubejs/server_scripts/tfg/recipes.js | 1 - kubejs/startup_scripts/firmalife/constants.js | 47 +- kubejs/startup_scripts/gtceu/machines.js | 62 ++ kubejs/startup_scripts/gtceu/recipe_types.js | 7 + kubejs/startup_scripts/tfc/constants.js | 77 +-- 43 files changed, 656 insertions(+), 725 deletions(-) delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_emissive.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png.mcmeta delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png.mcmeta delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png.mcmeta delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_ref.gif delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png delete mode 100644 kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_top.png delete mode 100644 kubejs/server_scripts/tfg/recipes.food.js diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 99169a273..425ba06f9 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -1401,7 +1401,7 @@ subtitle: "{quests.low_voltage.lv_greenhouse.subtitle}" tasks: [{ id: "3EB01235ED295080" - item: "tfg:electric_greenhouse" + item: "gtceu:greenhouse" type: "item" }] title: "{quests.low_voltage.lv_greenhouse.title}" diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png deleted file mode 100644 index de1abfe728887db34f3c30f4eb6cbdf84aea2db9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=pRfOCesk7g%kUsC6VENz9_$s*Ka#Lk*U)X& zGl^t{mJ9bd8+R=X;P%pdl~;7`3S&rnHsc+m=DS~+ehY>fxU8A+jpyH7yCajc7I!^h y^^5*e@hwFlp-MczZ-Qe&X=T|r%jUZbF*6sLEe;D@a*lz4fx*+&&t;ucLK6UxJzFOL diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png deleted file mode 100644 index 5b9e6ea6739d56cd2a782cfb033e498966bbd628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=;T#aA3K( z;KDJsgpJKI9XF_O}sGm5$oj>ITK{84j3@7g|t{oNIYraQDEC#$iTz= rK+4g9v&)g8-BG0dpaU}-8^f~WmispZs5mk(Ffe$!`njxgN@xNAnMh;s diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png deleted file mode 100644 index 4da15531758294c4b06ac119be05b106f4ae87fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=xx>8|qk*Bo~qW;Jlm zv{>QOy~ZM^?&$~p!zbn|>^eAQA>%Q&i|*&*ESW;N*n9${m{)KVuP{ErDCxkH_LxC} q?SN@hgOErw17mZWPC^0$!=78})Aruf6=7gtVDNPHb6Mw<&;$SiH%_ns diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_emissive.png deleted file mode 100644 index c20a1c9810d77b74d42b9829129c1c640700e925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU?3X diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png deleted file mode 100644 index f02154247c2653f7aa4f2c50135ee47eb28d1f9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ggjjwLo9le6C_v{Cy4Yg caWF8j2rw|#`&RTZFfcH9y85}Sb4q9e0PjW)-2eap diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png deleted file mode 100644 index f02154247c2653f7aa4f2c50135ee47eb28d1f9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ggjjwLo9le6C_v{Cy4Yg caWF8j2rw|#`&RTZFfcH9y85}Sb4q9e0PjW)-2eap diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta deleted file mode 100644 index dfae8cae1..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png deleted file mode 100644 index 21458b6d21a1d0fd86f72ab073571f8c56f023d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ojqL~Lo9laPTJUY$U(%l z|D1!u$~P?{!7N9P`E%Ux{HM^{J6~y=(zZH>RbP~va;v-#dUZE=%sS(6U_-RzoU5tg zI(x3peYo#%?S}`Kv+nw?zy5pIZ@=ZAjbcPxAM>|6b1(QSaUp7Rgw6*W{_~$F1Su_5 z;b1!V+&C(G%QdkpOe&s-YV6n(EM$zNdKq4P|IPbl`IF?gH*?wqnhbbu=9u}O_+Gn6 zBWZ7({n`xE6|Z+mmdUVRFP-V5HYL?_`)$>(Ma$XVE|))0DAOXKvGl|yo@Acgci)9x zVG9X8`nAfH!%^lq!`Xt^>oI!M|C@F^p0P=Xv#G)6yy3Bc(5v@(8T^(D|NbkN%yawg zHpvjLhr9GvUwvh|K!Yo9yEH@QtVz!;n-4N974g#SJFfir14Ba# z1H&%{28M%D}*&rlw|YZZ0h?y>;tW zCnqOsYwM_}sDlR&HZ?W5y1LGtJ2yW+f8xZ6?d|O;DJelgLA>ewECD7N6MPvM7$$tO zVP#-oU@Qsp3ubV5b|VeMN%D4gVd!9$^0}-^*;3Y z^mqU3%Y5>=mv#m6`%7;MpY-|2KfTQV1y`gbqf=gRw(XBU5O+WDs0*T3fe)A*5UxBl^)W9OZI{C!*bPki0! zZxywBMR)zP(m8GMZTY_68b@B2>@9m*|5q^FS?HgYxc*6GtA#?HO_FW$dyc#d-!nP@%4M}{Ws)4u-uWAQ4tm*m ziP>>Gdv&e%9c7V2n>qU3ejVoQkF2t=)PHwPe#zm(p8V=I&+ag{uz#q`yuJ8CmEQM; zGtEodr~T8Y@VTSh7xGGQdYas`M7dOc5jhF&mF!6enZMg6Ee!2vm{4_rZBj+c)AgPQ z+mEhOzBogSiM_Bt?YHt8`I~zJLyZG*>&@IN)`jGS8tNu-Rp1aWg zM`iRI{*a=5BHx0~{BAybTK2c5+3xvKa>75GP>Evn0b^1fUv_CaGooxL#vGUBP8BaI<{(bn<43LQE-^5Cv ziVN%93*#K#?n!xm+WA|5+4<>B$1hfPw|*82=x3LC#((H;%_`0Mh&cOC2iz-6YVLLY zwhy@TKk$pij{l2a{z?3Pct(5WjN|g38_aAsoxgwYIpZPcef6u3E7#34_*&5asX=(l zD@FVD=WNnGpV)W4p>oby=eql?l`=K*UJOS4M-EqiejwLslO}g(@y$Pppdin(`N!CN XK=*oC>AxKe3=9mOu6{1-oD!M14Ba# z1H&%{28M3NkF6pC!N~V}dUO14Ceq zxg-Mv17k^$UoeBivm0q3PLj8~3quF1tOo-F<4;c)$B>MBZ*S)IH7f|PCD`dPR52dl zUUBDt-t8kZH*#nFWxA>RxqFLm@|x}xES56i0lH63qqkFYgtQS9fi z-DUaZe)_3{8z=FdyQeMo)mmd+EdRVOKYI*Vzw=4j$n4;=S?B#O)BVGi#f)q^lMNmS z=FMPRBR#3Qgj??IM8!jm$IV`SUHIQFxc%GtyWf8Y+3kp{s@=P5&d&#x^FJT_{BK%6 zW6iIcXMf*l%;!Az`0txb@1I}#webGsdYfmDCs%*i!+kr+ZpVDh`Hi1E_s`#GfBNFO zXO~mnoZl*6cVhXs!)I6hE!dr9e`nn-{_U&39p;yluef)OTb}c2jJ{QT^|$jAE(^~s zcYYo_yGHKS`6m+(R4n;Fr7Zr&&${~$PyYCG{N@Q^+y5so)^k?5VdR9XtG=3kWj@&(_Q6p# REEts7JYD@<);T3K0RZ|lE{6aB diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta deleted file mode 100644 index 92cc62352..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png deleted file mode 100644 index c20a1c9810d77b74d42b9829129c1c640700e925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU?3X diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png deleted file mode 100644 index 678e1b9bb4bd15fb486d5c6d42ef7815d3e13573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=KH*Wmc zzhsHZly zRc*Vw{CvYt1qDSN7BS~?S>Y*ej0&yO-``FC@#81AM6*frfye#v2TY6(WHERcZ)8}_ zs8I0vpfX!soSZ@3$8WL`Zw}uMPmq#KFlAU08SBV*rmd1Ojl=4|OQswLhX|fiP7I59 z3rtNLHw7@ZF)rA_W-0%KSAe0FQ73EzqX@HuCNGPFpQ*W7;)Q_A49Njs8jqy>tbCA_ j(C}!9&4q?WMh2&^K>{t(EAKKeFfe$!`njxgN@xNA5FU6o diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png deleted file mode 100644 index f2b3c4212bf3cb561d04212b7ed709c8d48a53b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU`XI#V_;wqx%g=T0|NtNage(c!@6@aFBupZ zSkfJR9T^xl_H+M9WMyDr;4JWnEM{Qf764(!waR--85o!xJY5_^BHZ6j-|NNfC~(|; z;|4>Iqyw9c9TzQ#I3nVd)os(X_WXn3A3WR4?3xzz_Nr~%c)?kivytVq>%Jpy7yew2 zEv_~f-zzgi;2rzvcQIw^n@^wpUzYLc%*lW4DMmjtCEB)>th%c8^mAoyZ(72~k1r*2 z*Xf>Cx9Xp2HdjVA%TFvt|A2k+$Ddzi-yTUSnRxbOd`Fma;>R;`clW$8HTbwMVu{~+ zeJQc#qUHKk+H06~wr#$uaj|T#!dgW>_KE*y&)8E@?D_Khtc;88@7J0{>t2jbRPJaw zyhX0RyKw#OrBgGeNPXS4;q3;#qMK`EULM#ed+lJH*3%h#=KGzV*mu}*X^c>HXrNB3 z)0T-I7ba(N-R^tFkS}#$zjD`+1jVTA4fQtM{O6p`2L7m<%FJZTu!dR3&FlR>yY9A) z(tPY*{Bc~Y6WKE)9?wj)+B~I~AwjW(fj3!iYU65V>k}93Uo)BuYMy;qu;2?r5SyfP z^9+_MgR?*ET+YrAv~{qmzZ2*Ay8H$Q!#kE&bq%|l)NLJ@9N8xXH2jXzj#1vQXy3K^ zYs`JkK5l&_GJFfzUwJWWGAG~VpCZOm^?@I13d7{};spyG_AV$oSiE3k44ofy`glX=O&z`&C3 z=KH*Wmc zzhsHZlyrbl_Ax8*dxZZ>u> zn|>~q?V3&HW4RR?S{DK?Cro(yJn@BJU(@auP90_zg>>cYX#!$NKYsk=p23zVu%qxb z+u_Ik@dvUJ8S)s68ZsT&ZX9u7Sj}kgA^CnMt5pHaP(|sT*I~?J0N@lb8-$y zmiL$EO&%G)eF1@Q7*;dt-`m%`Nq}Lt1jhkh234T|o90DaEDll*Gv-fcUneQntFYCe v!Bnwv5tlSW=CPR*5*n^7vANLD$jC79Vq({kNSs54@I14-?iy0WW1wojxJ|%u40|Vn`PZ!4!5AV0r3_T792(+1ja-Ru4O|7V_fT6DI=>TQ2h$m-BfHu@8UB`o?b z$K1QOwDY3kf4>Rs&&{oF-cq<;>N{`ef!XH#{+2&qCEVXH{Up0=-Z8e{nd!MFOD>(h z|EFQw;gj;cY^j?gr978b+$pbh^nXA9&zc0T8w!q-q85rt_^DZTm4Dw-UgFa~m8*R5 zLa`mXQ!QFv*35Hu)-{;maiK!Z`Soh;kQuXst4joCd6i>KHzRwfHQ2%`W9~|N8{{)yiAW=rS-cFnGH9xvXI2Biqv_2A32=g}6KyOjfYsniUu$)5SMerYY}{j>yvP2P%;)3uia8OcFaY zVMz;5r^kaSF}EW=7ajcK)HcVt%Dp@HYW~mt??2xAURPt2Y9X`h&+=b??HJyc%}&^V zKix)7n6G_e(4tjZ4+~~|tl)XDUiP@-l~2p4O4b@l9>J1zTW zm+!NAp7*q9TiEKkxq5p0jK6=&W7^yhFF$YR-u`}uj2fu~276g?#y8Aut1ei$T#)JQ z6VRNSdN#J(=7@=J&`OcDVckD}R@Rs8jx{qg+w`^S@8;LLzVp4S4HZc}&7V;tf8gM0 zhUcNI4cXJrF$(PcI^+Adsmou#eyv}%SB~Lnk>yH_Q`49xoPT~dZL_D+#06oi6D8Q@ z`n6}6cx}J^^z7AL*AE`G=SY*?Gq1FO%Tx37r;4U?o1WSIENq@TSC;4S0TbVn*yAR? zLY*vY!?-n5!#Ey_bRYd;U;5yrGK0jEd-Lu%>P;^$FE1B#`tkqXw%m}=qlGeZEZ%!2 zoy<`X*ik>Bd~eiRy`L|+xw*Id&pw%AbeQuOueFNGn!AebM;I6w7(8A5T-G@yGywny CwhgcV diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png deleted file mode 100644 index bcfd65feb106d41eb0f4fa5fdcd53f1085791eaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV07SMW?*1wy22yCz`&r8>=ES4z)+>ez|hdb z!0?NKfuZ3A14F3+1H-EX1_rAc3=HB0b9M#VFfcHr1^9%xGB7ZF`t<3+g9kfz?!0m1 z#`*K-_wCzv?AWonbLXyFwQBkD<$Zm9_c8?KlJ+gNTAD;cBi^C@DKvbEgRc4|@TeSW!{R$58iVYc!?H;x^U%u#; zS9FL~_K22#NYMTKfQf%?$8nQ?52`9`9`q~qSN?p=IRDz`{WI(nit1PVJp3o|pF#Z$ z`!n+O6;u8iZvK0R<=={I`}BVmmzEoUZlB9;`?|mLTyq^m*|{a$zCmsZ3=9kmp00i_ I>zopr01T1VI{*Lx diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta deleted file mode 100644 index 92cc62352..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png deleted file mode 100644 index 8e993ab9899163f3861209611777cb5330c63c40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV02(&W?*1Aks`8@fq_9G*(1o8fuTx`fuW&= zf#DYe14F|L28L1t28LG&3=CE?7#PG0=IjczVPIh33GfMVWnf^COWH5!F`0pZLF&ma zHUYh7ML)4+aJXMNb#U5R22v2?{JS4lc}&sV>cdpWV(% jo918H6ZpBUxspMUk)KgKDKDCVfq}u()z4*}Q$iB}`2Z{6 diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta deleted file mode 100644 index 92cc62352..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif deleted file mode 100644 index 383a1c8002c2d2f4d21310d5d14f32fbeb1396d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 zcmZ?wbhEHb6krfw_{abPf*zCQlJ+w&Fev_H;ba2Q|GE8KLxP$zt|?Jt#k9eJU3h*48#QHg>(J$wHA`5QNGJb3Wn)2B}$Td9Najnxp*GXeCRp)3u4BxBpbwt6UDY zP%E^NYp}BFGP?O{M~&b6oHsvuUFUYj>xhYpinKIkNfe3+aZB;`N(q!OG&YMgHHb5? z2yhk(vkSBFv+=N27uQc|6|LqJV965WWa44j%FjA!Rm-$Cf%S#lEbNC_*jPju7*9_+ zTjZDEmPLsY6s6|YuyD?`j;ewuljRrL&C*c9JU@V%V6o@auU(QWuc@mF=X1i)aXl~w|6-)d$_Y99b9;O7oKI{ HeF) diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png deleted file mode 100644 index f02154247c2653f7aa4f2c50135ee47eb28d1f9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ggjjwLo9le6C_v{Cy4Yg caWF8j2rw|#`&RTZFfcH9y85}Sb4q9e0PjW)-2eap diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png deleted file mode 100644 index 01360c35a2eee48a62adb260c3d0b35dfaff2289..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7RXtrCLo9l?PTZK)93axR zpM~?5V@IPxislzaFZS97y~<{r=E=cwYT1qgpO}ui3oPHYlkL%i0{u9r$7$;Nvm#cs z{<&=Vea`>q|KHElTpFe3#KGtgC?es+F>BdD6W=9MBBr%w&NA_3Uhw+$*HcA1W%e*j z{9PLD6dKB~=6bg8K2f8tMG`k&dz8jL{%sfJb;;yt;hc*Wn~x?X_VO;$_+>ZOFGf#1 z=DI4+;pKsib&IE*%DMe**S`XbEewtVFZNpW-L^Rξ+0_un%ws!vb#oTPHIZ1>l^ zPT6zMjTvU2O|uB_N{xTNK6jGJ&5RrI2Jg8PS(dI@UeM0;|L9zYSpV{cpX>M8ZkN|T zx1@f?;o5(idS4{9m;Up4<$V8Vg-zD&-FMGP$JaB|G4yPk`s0smb_fFl1B0ilpUXO@ GgeCwh*qSQ< diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png deleted file mode 100644 index e10b0db21966d987c7f7d76e15b9077480672a6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 364 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7jXhl)Lo9l?1{!7^b`X$} zO!U*_nRbxl3d^SkfsQ{7Cchd#vrcxJD);zWg24;shw~Cbj^5qMwlrYlaapx}A=8y! zC`l%+Q3`&0@7yrRyBigh7#aka>;w-=FdvgxGKHgwp~p}nnc=|E=bt4nzufYf zkD+e&%Si#(O&JpG=39SSIzhkX#f@waFHIdWZV%0k_umV)CB84;^RYtai|Dr7Z?Au> zIP$W@NyPQUrZ?-t7tGCAd-`O`B$J<2d$%!ch*}$SKX3cy_QQ;uZ}L>mtFD{v<8pq^ zXCvRsPbS@1uu6-;LFV{=>kRSPM`N7lJ(s;0C@e71`m8|Dt&_TZ>$qz6?{(5NjbMp- z{ps=3i~H>F-ahM`Vfp;20=r9#|4;ME4({^SsMoVSb9YP@aebJhKmGKQ{eR^@Fzba+ WURm_2&6|ONfx*+&&t;ucLK6V3p`r!= diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png deleted file mode 100644 index 1161e23a981427087869a2d3f725bace3a7a05d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74Ln^OLo9liPO$er93XPE zUN^Hw((9y(g@r{*Q9;(UU#yST$uH#ad$+V>b@${4ZyxDzyo)uG5O=+F(6K_mNM+el z6OW~Oz9)>E)>lmb{ce8oJ=^7mGkvD5k@TFzAke1hHc914WuHKkiSI@oZbg>LdCXJZ z|E%fDz3nBxATstBr^d8Z4;ID0kxrD*dVaK!$6;D(RFTxO%&7gmHs^(}T6HN2vK(~p zb$BiP;O8~Hv-fPhykml=FSz?oqcXRN$!6}Vdl|wq^K#{8%-ws7wTnII)Ke|y3vbJ& z?tHyVuHpUf@1{(ePm5lEl3K*;mp8A%{N9e=HGeKY32K_MiG@F!Z#lns)TN$Bh4-w} zsy80q@bts3AD5W4S(-13Zob(wJ@oGT@83%~yn6c{e_7T1vBKt(-DCTYycX(J58H%i S<}olZFnGH9xvXhPt{K z7&m;2yFPWwB{z17M*;aC7G{*)eeS-%G-Rt}$k(uZ&OHw$G*#!l$Za$~lOue!)ckwr zttN?=oP8a0l=mE!^wMnam5|QpTojl6SAEB$FDne^>gRI&Yn^BOFT(a*-a*m-Z$%d= z?pyru6W7Irw05@RcVZVlw?F(*^>691ImR2a*6vv;FZEyO-E+ojZ3YGg22WQ%mvv4F FO#m@NYXtxR diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 213334b1a..9cbfe6003 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -27,9 +27,10 @@ const registerTooltips = (event) => event.addAdvanced(['create:blaze_burner'], (item, advanced, text) => { text.add(1, text.of('§cSuperheat§r with Coke, Anthracite, or Flawless and Exquisite coal gems.')) }) - event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { + event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { text.add(1, text.of('This machine has a §2Perfect Overclock§r!')), - text.add(2, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) + text.add(2, text.of('Currently, due to a bug, sometimes outputs rotten food.')) + text.add(3, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) }) event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { text.add(1, text.of('Artificial enviroment to simulate the Nether.')), diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index a9adeb1a3..38e8f5165 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -446,6 +446,276 @@ const registerFirmaLifeRecipes = (event) => { //#endregion + //#region Рецепты муки + + global.FIRMALIFE_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .duration(200) + .EUt(2) + }) + + //#endregion + + //#region Рецепты теста + + global.FIRMALIFE_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.mixer(element.name) + .itemInputs(element.input, '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) + .itemOutputs(element.output) + .duration(300) + .EUt(16) + .circuit(2) + }) + + //#endregion + + //#region Рецепты плоского хлеба + + global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + //#endregion + + //#region Смешивание в миске + + // Тесто для пиццы + event.recipes.gtceu.mixer('firmalife:food/pizza_dough_olive_oil') + .itemInputs('firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt') + .inputFluids(Fluid.of('tfc:olive_oil', 1000)) + .itemOutputs('4x firmalife:food/pizza_dough') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/pizza_dough_soybean_oil') + .itemInputs('firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt') + .inputFluids(Fluid.of('firmalife:soybean_oil', 1000)) + .itemOutputs('4x firmalife:food/pizza_dough') + .duration(300) + .EUt(16) + + // Vanilla Ice Cream + event.recipes.gtceu.mixer('firmalife:food/vanilla_ice_cream') + .itemInputs('firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla') + .inputFluids(Fluid.of('firmalife:cream', 1000)) + .itemOutputs('2x firmalife:food/vanilla_ice_cream') + .duration(300) + .EUt(16) + + // Pumpkin Pie Dough + event.recipes.gtceu.mixer('firmalife:food/pumpkin_pie_dough') + .itemInputs('#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('firmalife:food/pumpkin_pie_dough') + .duration(300) + .EUt(16) + .circuit(2) + + // Butter + event.recipes.gtceu.mixer('firmalife:food/butter') + .itemInputs('tfc:powder/salt') + .inputFluids(Fluid.of('firmalife:cream', 1000)) + .itemOutputs('firmalife:food/butter') + .duration(300) + .EUt(16) + + // Pie Dough + event.recipes.gtceu.mixer('firmalife:food/pie_dough') + .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('firmalife:food/pie_dough') + .duration(300) + .EUt(16) + .circuit(2) + + // Cookie Dough + event.recipes.gtceu.mixer('firmalife:food/cookie_dough') + .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', '#forge:eggs', 'firmalife:spice/vanilla') + .itemOutputs('4x firmalife:food/cookie_dough') + .duration(300) + .EUt(16) + + // Hardtack Dough + event.recipes.gtceu.mixer('firmalife:food/hardtack_dough') + .itemInputs('tfc:powder/salt', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('4x firmalife:food/hardtack_dough') + .duration(300) + .EUt(16) + .circuit(2) + + // Yeast starter + event.recipes.gtceu.mixer('firmalife:yeast_starter') + .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) + .itemInputs('#tfc:foods/flour') + .outputFluids(Fluid.of('firmalife:yeast_starter', 600)) + .duration(1200) + .EUt(8) + .circuit(1) + + // Cocoa Powder + event.recipes.gtceu.macerator('firmalife:food/cocoa_powder') + .itemInputs('gtceu:cocoa_dust') + .itemOutputs('4x firmalife:food/cocoa_powder') + .duration(100) + .EUt(2) + + event.recipes.tfc.quern('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust') + .id(`tfg:quern/cocoa_powder`) + + event.recipes.tfc.quern('gtceu:cocoa_dust', 'firmalife:food/roasted_cocoa_beans') + .id('tfg:quern/cocoa_dust'); + + // Chocolate Ice Cream + event.recipes.gtceu.mixer('firmalife:food/chocolate_ice_cream') + .itemInputs('firmalife:food/vanilla_ice_cream') + .inputFluids(Fluid.of('firmalife:chocolate', 1000)) + .itemOutputs('firmalife:food/chocolate_ice_cream') + .duration(300) + .EUt(16) + + // White Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/yak_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/goat_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/coconut_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.smelting('firmalife:food/white_chocolate', 'firmalife:food/white_chocolate_blend') + + // Dark Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/yak_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/goat_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/coconut_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + event.smelting('firmalife:food/dark_chocolate', 'firmalife:food/dark_chocolate_blend') + + // Milk Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/yak_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/goat_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/coconut_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.smelting('firmalife:food/milk_chocolate', 'firmalife:food/milk_chocolate_blend') + + // Strawberry Ice Cream + event.recipes.gtceu.mixer('firmalife:food/strawberry_ice_cream') + .itemInputs('firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry') + .itemOutputs('firmalife:food/strawberry_ice_cream') + .duration(300) + .EUt(16) + + // Hardtack Dough + event.recipes.gtceu.mixer('firmalife:food/chocolate_chip_cookie_dough') + .itemInputs('4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends') + .itemOutputs('4x firmalife:food/chocolate_chip_cookie_dough') + .duration(300) + .EUt(16) + + //#endregion + + //#region Обжарка некоторой еды + + // Cooked Pizza + event.smelting('firmalife:food/cooked_pizza', 'firmalife:food/raw_pizza') + + // Taco Shell + event.smelting('firmalife:food/taco_shell', 'firmalife:food/corn_tortilla') + + // Sugar Cookie + event.smelting('firmalife:food/sugar_cookie', 'firmalife:food/cookie_dough') + + // Chocolate Chip Cookie + event.smelting('firmalife:food/chocolate_chip_cookie', 'firmalife:food/chocolate_chip_cookie_dough') + + // Hardtack + event.smelting('firmalife:food/hardtack', 'firmalife:food/hardtack_dough') + + // Cooked Pie + event.smelting('firmalife:food/cooked_pie', 'firmalife:food/filled_pie') + + // Roasted Cocoa Beans + event.smelting('firmalife:food/roasted_cocoa_beans', 'firmalife:food/cocoa_beans') + + // Pumpkin Pie + event.smelting('minecraft:pumpkin_pie', 'firmalife:food/raw_pumpkin_pie') + + //#endregion + //#region Sticky Resin by Vat event.recipes.firmalife.vat() @@ -481,6 +751,28 @@ const registerFirmaLifeRecipes = (event) => { // #endregion + // #region Smashed food + + event.recipes.gtceu.forge_hammer('firmalife:soybean_paste') + .itemInputs('firmalife:food/dehydrated_soybeans') + .itemOutputs('firmalife:food/soybean_paste') + .duration(20) + .EUt(7) + + event.recipes.gtceu.forge_hammer('firmalife:red_grapes') + .itemInputs('firmalife:food/red_grapes') + .itemOutputs('firmalife:food/smashed_red_grapes') + .duration(20) + .EUt(7) + + event.recipes.gtceu.forge_hammer('firmalife:white_grapes') + .itemInputs('firmalife:food/white_grapes') + .itemOutputs('firmalife:food/smashed_white_grapes') + .duration(20) + .EUt(7) + + // #endregion + // #region Drying mat alternatives event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/leafy_kelp' }).id('tfg:shaped/drying_mat_leafy_kelp') @@ -495,4 +787,13 @@ const registerFirmaLifeRecipes = (event) => { .circuit(5) .EUt(GTValues.VA[GTValues.ULV]) .duration(200) + + event.smelting('firmalife:food/dehydrated_soybeans', 'tfc:food/soybean') + + event.recipes.gtceu.fermenter('soybean_oil') + .itemInputs('firmalife:food/soybean_paste') + .inputFluids(Fluid.of('minecraft:water', 100)) + .outputFluids(Fluid.of('firmalife:soybean_oil', 250)) + .EUt(GTValues.VA[GTValues.ULV]) + .duration(600) } diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 7e90107f4..83c352ad9 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -744,6 +744,18 @@ function registerGTCEuMachineRecipes(event) { // #endregion + // Контроллер теплицы + event.shaped('gtceu:greenhouse', [ + 'ABA', + 'CDC', + 'BCB' + ], { + A: '#gtceu:circuits/mv', + B: 'gtceu:copper_single_cable', + C: 'tfc:compost', + D: 'gtceu:solid_machine_casing' + }).id('tfg:shaped/greenhouse') + // Drums const DRUMS_AND_CRATES = [ 'bismuth_bronze', diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 064774d05..d23cb4aad 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -34,6 +34,44 @@ const registerTFCRecipes = (event) => { //#endregion + //#region Рецепты зерен + + global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS.forEach(element => { + + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .chancedOutput('tfc:straw', 7000, 500) + .duration(200) + .EUt(2) + + event.recipes.tfc.quern(element.output, element.input) + .id(`tfg:quern/${element.name}`) + }) + + //#endregion + + //#region Рецепты муки + + global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .duration(200) + .EUt(2) + }) + + //#endregion + + //#region Рецепты обжарки мяса + + global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + //#endregion + //#region Рецепты обжарки форм global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { @@ -88,6 +126,15 @@ const registerTFCRecipes = (event) => { //#endregion + //#region Рецепты хлеба + + global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + //#endregion + event.shapeless('tfc:crucible', ['tfc:crucible']).id('tfg:empty_crucible') event.shapeless('2x minecraft:stick', ['#minecraft:saplings', '#forge:tools/knives']).id('tfg:strip_saplings') diff --git a/kubejs/server_scripts/tfc/recipes.machines.js b/kubejs/server_scripts/tfc/recipes.machines.js index 44df72c83..ac2370124 100644 --- a/kubejs/server_scripts/tfc/recipes.machines.js +++ b/kubejs/server_scripts/tfc/recipes.machines.js @@ -117,6 +117,20 @@ function registerTFCMachineRecipes(event) { .duration(3200) .EUt(16) + //#region Рецепты плоского теста + + global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.mixer(element.name) + .itemInputs(element.input) + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs(element.output) + .duration(300) + .EUt(16) + .circuit(3) + }) + + //#endregion + //#region Молды в ассемблере for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { @@ -160,9 +174,158 @@ function registerTFCMachineRecipes(event) { .duration(2400) .EUt(16) + // Curdled milk + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') + .inputFluids(Fluid.of('minecraft:milk', 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('tfc:curdled_milk', 2000)) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') + .inputFluids(Fluid.of('firmalife:yak_milk', 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 2000)) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') + .inputFluids(Fluid.of('firmalife:goat_milk', 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 2000)) + .duration(2400) + .EUt(16) + + //Curds + event.recipes.gtceu.fermenter('tfg:fermenter/milk_curd') + .inputFluids(Fluid.of('tfc:curdled_milk', 1000)) + .itemOutputs('firmalife:food/milk_curd') + .duration(1200) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/yak_curd') + .inputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) + .itemOutputs('firmalife:food/yak_curd') + .duration(1200) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/goat_curd') + .inputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) + .itemOutputs('firmalife:food/goat_curd') + .duration(1200) + .EUt(16) + + // Cheese wheels + event.recipes.gtceu.fermenter('tfg:fermenter/gouda_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/milk_curd') + .itemOutputs('firmalife:gouda_wheel') + .duration(12000) + .EUt(24) + + event.recipes.gtceu.fermenter('tfg:fermenter/shosha_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/yak_curd') + .itemOutputs('firmalife:shosha_wheel') + .duration(12000) + .EUt(24) + + event.recipes.gtceu.fermenter('tfg:fermenter/feta_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/goat_curd') + .itemOutputs('firmalife:feta_wheel') + .duration(12000) + .EUt(24) + + // Cutting + event.recipes.gtceu.cutter('tfg:cutter/gouda') + .itemInputs('firmalife:gouda_wheel') + .itemOutputs('4x firmalife:food/gouda') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/shosha') + .itemInputs('firmalife:shosha_wheel') + .itemOutputs('4x firmalife:food/shosha') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/feta') + .itemInputs('firmalife:feta_wheel') + .itemOutputs('4x firmalife:food/feta') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/cheddar') + .itemInputs('firmalife:cheddar_wheel') + .itemOutputs('4x firmalife:food/cheddar') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/chevre') + .itemInputs('firmalife:chevre_wheel') + .itemOutputs('4x firmalife:food/chevre') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/rajya_metok') + .itemInputs('firmalife:rajya_metok_wheel') + .itemOutputs('4x firmalife:food/rajya_metok') + .duration(40) + .EUt(7) + + // Misc + global.TFC_MILKS.forEach(milk => { + event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milk.id.replace(':', '_')}`) + .inputFluids(Fluid.of(milk.id, 1000)) + .outputFluids(Fluid.of('firmalife:cream')) + .circuit(6) + .duration(1200) + .EUt(24) + }) + + event.recipes.gtceu.mixer('tfg:mixer/tomato_sauce') + .itemInputs('firmalife:food/tomato_sauce_mix') + .inputFluids(Fluid.of('minecraft:water', 200)) + .itemOutputs('firmalife:food/tomato_sauce') + .duration(200) + .EUt(24) + //#endregion - // Brine + //#region Оливки + + event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + .itemInputs('tfc:food/olive') + .itemOutputs('2x tfc:olive_paste') + .duration(60) + .EUt(2) + + event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water') + .inputFluids(Fluid.of('water', 200)) + .itemInputs('1x tfc:olive_paste') + .outputFluids(Fluid.of('tfc:olive_oil_water', 200)) + .duration(200) + .EUt(28) + + event.recipes.gtceu.distillery('tfg:tfc/olive_oil') + .inputFluids(Fluid.of('tfc:olive_oil_water', 250)) + .outputFluids(Fluid.of('tfc:olive_oil', 50)) + .duration(600) + .EUt(28) + + //#endregion + + // Vinegar and Brine + + global.TFC_ALCOHOL.forEach(alcohol => { + event.recipes.gtceu.fermenter(`tfg:tfc/vinegar/${alcohol.id.replace(':', '_')}`) + .itemInputs('#tfc:foods/fruits') + .inputFluids(Fluid.of(alcohol.id, 250)) + .outputFluids(Fluid.of('tfc:vinegar', 250)) + .duration(600) + .EUt(28) + }) event.recipes.gtceu.mixer('tfg:tfc/brine') .inputFluids(Fluid.of('tfc:salt_water', 900)) diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js deleted file mode 100644 index 0a8fa9c76..000000000 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ /dev/null @@ -1,620 +0,0 @@ -// priority: 0 -/** - * @param {Internal.RecipesEventJS} event - */ -function registerTFGFoodRecipes(event) { - - const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.machines.ISPOutputRecipeLogic") - const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient") - const Sized = (ing, amount) => $SizedIngredient.create(ing, amount) - - /** - * @typedef {Object} FoodRecipeData - * @property {number?} circuit - * @property {Internal.GTRecipeComponents$FluidIngredientJS_[]?} fluidInputs - * @property {Internal.FluidStackJS[]?} fluidOutputs - * @property {(string | [string, Internal.Ingredient])[]?} itemInputs - * @property {string[]?} itemOutputs Ingredient outputs - first output is replaced with ISP output if defined - * @property {Internal.ItemStackProviderJS?} itemOutputProvider ItemStackProvider which provides the recipe output. - * - * **NOTE:** TFC Ingredients do not support item counts higher than 1. Do `Sized(TFCIngredient('item:item'), count)` instead of `TFCIngredient('[count]x item:item')` - */ - - //#region Helper funcs - - /** - * @param {"food_oven"|"food_processor"} type - * @param {string} id - * @param {string} duration - * @param {string} EUt - * @param {FoodRecipeData} data - */ - function registerFoodRecipe(type, id, duration, EUt, data) { - if (data.itemInputs === undefined) data.itemInputs = [] - if (data.itemOutputs === undefined) data.itemOutputs = [] - if (data.fluidInputs === undefined) data.fluidInputs = [] - if (data.fluidOutputs === undefined) data.fluidOutputs = [] - let gregInputs = [], inputs= [] - let outputFirstIndex = (data.itemOutputProvider === undefined) ? 0 : 1 - data.itemInputs.forEach(item => { - if (typeof item === "string") { - gregInputs.push(item) - - const match = item.match(/^(\d+)\s*x\s*/i); - let count = 1 - if (match) { - count = parseInt(match[1]); - item = item.slice(match[0].length); - } - inputs.push($SizedIngredient.create(item, count)) - } else { - gregInputs.push(item[0]) - inputs.push(item[1]) - } - }) - - $ISPRecipeLogic.RegisterRecipeData(type + "/" + id, inputs, (data.itemOutputProvider === undefined) ? null : data.itemOutputProvider.asCanonClass(), data.itemOutputs.slice(outputFirstIndex).map(i => Item.of(i))) - - let r = event.recipes.gtceu[type](id) - .duration(duration) - .EUt(EUt) - - if (data.circuit) r.circuit(data.circuit) - if (data.itemOutputs.length > 0) r.itemOutputs(data.itemOutputs) - if (data.itemInputs.length > 0) r.itemInputs(data.itemInputs) - if (data.fluidInputs.length > 0) r.inputFluids(data.fluidInputs); - if (data.fluidOutputs.length > 0) r.outputFluids(data.fluidOutputs); - } - - /** - * @param {string} id - * @param {number} duration - * @param {EUt} EUt - * @param {FoodRecipeData} data - */ - const processorRecipe = (id, duration, EUt, data) => registerFoodRecipe("food_processor", id, duration, EUt, data) - - /** - * @param {string} id - * @param {string} input - * @param {string} out - * @param {Internal.FluidIngredient?} fluid - * @param {boolean?} isFirmaDynamic - */ - function cookingRecipe(id, input, out, fluid, isFirmaDynamic) { - registerFoodRecipe("food_oven", id, 300, 32, { - itemInputs: [input], - itemOutputs: [out], - fluidInputs: (fluid === undefined) ? [] : [fluid], - itemInputs: [input], - itemOutputProvider: (isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood().addTrait("firmalife:oven_baked") - }) - } - - //#endregion - - //#region ================= Meat cooking ================= - - global.TFC_MEAT_RECIPE_COMPONENTS.forEach(item => { - cookingRecipe(item.name, item.input, item.output) - }) - - //#endregion - //#region ================= TFC Grains ================= - - global.TFC_GRAINS.forEach(grain => { - - // Raw crop to grain - processorRecipe(`${grain}_grain`, 100, 8, { - itemInputs: [`tfc:food/${grain}`], - itemOutputs: [`tfc:food/${grain}_grain`], - itemOutputProvider: TFC.isp.of(`tfc:food/${grain}_grain`).copyOldestFood() - }) - - // Grain to flour - processorRecipe(`${grain}_flour`, 100, 8, { - itemInputs: [`tfc:food/${grain}_grain`], - itemOutputs: [`2x tfc:food/${grain}_flour`], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_flour`).copyOldestFood() - }) - - // Flatbread dough - processorRecipe(`${grain}_flatbread_dough`, 300, 8, { - itemInputs: [`tfc:food/${grain}_flour`], - itemOutputs: [`2x tfc:food/${grain}_dough`], - fluidInputs: [Fluid.of('minecraft:water', 100)], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_dough`).copyFood() - }) - - // Firmalife dough - processorRecipe(`${grain}_dough`, 300, 16, { - itemInputs: [`tfc:food/${grain}_flour`, `#tfc:sweetener`], - itemOutputs: [`4x firmalife:food/${grain}_dough`], - fluidInputs: [Fluid.of('firmalife:yeast_starter', 200)], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${grain}_dough`).copyFood() - }) - - // Bread baking - cookingRecipe(`${grain}_flatbread`, `tfc:food/${grain}_dough`, `firmalife:food/${grain}_flatbread`) - cookingRecipe(`${grain}_bread`, `firmalife:food/${grain}_dough`, `tfc:food/${grain}_bread`) - - processorRecipe(`${grain}_bread_slice`, 10, 8, { - circuit: 1, - itemInputs: [`tfc:food/${grain}_bread`], - itemOutputs: [`2x firmalife:food/${grain}_slice`], - itemOutputProvider: TFC.isp.of(`2x firmalife:food/${grain}_slice`).copyOldestFood() - }) - - //Sandwich making - - let breadTypes = [["bread", `tfc:food/${grain}_bread`], ["flatbread", `firmalife:food/${grain}_flatbread`], ["slice", `firmalife:food/${grain}_slice`]] - breadTypes.forEach((type) => { - processorRecipe(`${grain}_${type[0]}_sandwich`, 100, 16, { - circuit: 3, - itemInputs: [`2x ${type[1]}`, "3x #tfc:foods/usable_in_sandwich"], - itemOutputs: [`2x tfc:food/${grain}_bread_sandwich`], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_sandwich`).meal( - (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ - (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), - ]) - }) - - //Note: Jam needs to be first in the recipe code or else it will consider it as the usable_in_jam_sandwhich ingredients. - processorRecipe(`${grain}_${type[0]}_jam_sandwich`, 100, 16, { - circuit: 4, - itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich'], - itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, 'tfc:empty_jar'], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal( - (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ - (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), - ]), - }) - }) - - - }) - - //#endregion - - //#region ================= Firmalife ================= - - global.FIRMALIFE_COOKING_RECIPE_COMPONENTS.forEach(item => { - cookingRecipe(item.name, item.input, item.output, undefined, true) - }) - - //#endregion - //#region ================= Dairy ================= - - global.TFC_CURDS_AND_CHEESES.forEach(item => { - - processorRecipe(`${item.curd}_curd`, 1200, 16, { - itemOutputs: [item.curd], - fluidInputs: [Fluid.of(item.input_fluid, 1000)], - itemOutputProvider: TFC.isp.of(item.curd).resetFood() - }) - - processorRecipe(`${item.cheese1}_cheese_wheel_1`, 8000, 16, { - itemInputs: [`3x ${item.curd}`], - itemOutputs: [`firmalife:${item.cheese1}_wheel`], - fluidInputs: [Fluid.of('tfc:salt_water', 750)], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese1}_wheel`).copyOldestFood() - }) - - processorRecipe(`${item.cheese2}_cheese_wheel_2`, 1000, 16, { - circuit: 2, - itemInputs: [`3x ${item.curd}`, `6x tfc:powder/salt`], - itemOutputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese2}_wheel`).copyOldestFood() - }) - - processorRecipe(`${item.cheese1}_cheese_cutting_1`, 100, 8, { - itemInputs: [`firmalife:${item.cheese1}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese1}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese1}`).copyOldestFood() - }) - - processorRecipe(`${item.cheese2}_cheese_cutting_2`, 100, 8, { - itemInputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese2}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese2}`).copyOldestFood() - }) - - }) - - global.TFC_MILKS.forEach(milk => { - const milkID = milk.id.split(':')[1]; - - processorRecipe(`white_chocolate_blend_from_${milkID}`, 300, 16, { - circuit: 3, - itemInputs: ['2x firmalife:food/cocoa_butter', '#tfc:sweetener'], - itemOutputs: ['2x firmalife:food/white_chocolate_blend'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of('2x firmalife:food/white_chocolate_blend').resetFood(), - }) - - processorRecipe(`dark_chocolate_blend_from_${milkID}`, 300, 16, { - circuit: 2, - itemInputs: ['2x firmalife:food/cocoa_powder', '#tfc:sweetener'], - itemOutputs: ['2x firmalife:food/dark_chocolate_blend'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of('2x firmalife:food/dark_chocolate_blend').resetFood(), - }) - - processorRecipe(`milk_chocolate_blend_from_${milkID}`, 300, 16, { - circuit: 1, - itemInputs: ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener'], - itemOutputs: ['2x firmalife:food/milk_chocolate_blend'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of('2x firmalife:food/milk_chocolate_blend').resetFood(), - }) - - processorRecipe(`egg_noodles_from_${milkID}`, 50, 8, { - circuit: 6, - itemInputs: ["#tfc:foods/flour", 'tfc:powder/salt', '#forge:eggs'], - itemOutputs: ['firmalife:food/raw_egg_noodles'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_egg_noodles").copyOldestFood(), - }) - - processorRecipe(`rice_noodles_from_${milkID}`, 50, 8, { - itemInputs: ["tfc:food/rice_flour", 'tfc:food/maize_flour', 'tfc:powder/salt'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputs: ['2x firmalife:food/raw_rice_noodles'], - itemOutputProvider: TFC.isp.of('2x firmalife:food/raw_rice_noodles').copyOldestFood() - }) - - // No ISP needed here - event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milkID}`) - .inputFluids(Fluid.of(milk.id, 1000)) - .outputFluids(Fluid.of('firmalife:cream')) - .circuit(6) - .duration(1200) - .EUt(24) - }) - - //#endregion - - //#region ================= Food preservation ================= - - const smoking_meats = Ingredient.of('#tfc:foods/raw_meats').itemIds; - const brining_veg = Ingredient.of('#firmalife:foods/pizza_ingredients').itemIds; - - const brining_ingredients = smoking_meats.concat(brining_veg); - - brining_ingredients.forEach(item => { - processorRecipe(`${item}/brining`, 200, 16, { - circuit: 5, - itemInputs: [item], - itemOutputs: [item], - fluidInputs: [Fluid.of("tfc:brine", 100)], - itemOutputProvider: TFC.isp.of(item).copyOldestFood().addTrait('tfc:brined') - }) - }) - - smoking_meats.forEach(item => { - processorRecipe(`${item}/smoking`, 200, 16, { - circuit: 6, - itemInputs: [[item, TFC.ingredient.lacksTrait(item, "firmalife:smoked")]], - itemOutputs: [item], - fluidInputs: [Fluid.of('gtceu:wood_gas', 50)], - itemOutputProvider: TFC.isp.of(item).copyOldestFood().addTrait("firmalife:smoked") - }) - }) - - //#endregion - - //#region ================= Misc ================= - - global.TFC_JAMS.forEach(name => { - processorRecipe(`${name}_jam`, 200, 8, { - circuit: 15, - itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "#tfc:empty_jar_with_lid"], - itemOutputs: [`4x tfc:jar/${name}`], - fluidInputs: [Fluid.of("minecraft:water", 100)], - itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}`).copyFood() - }) - - processorRecipe(`${name}_jam_no_seal`, 200, 8, { - circuit: 16, - itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "tfc:empty_jar"], - itemOutputs: [`4x tfc:jar/${name}_unsealed`], - fluidInputs: [Fluid.of("minecraft:water", 100)], - itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}_unsealed`).copyFood() - }) - }) - - cookingRecipe("pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta", Fluid.of("minecraft:water", 100)) - cookingRecipe("corn_tortilla", "firmalife:food/masa", "firmalife:food/corn_tortilla") - cookingRecipe("boiled_egg", "#firmalife:foods/raw_eggs", "tfc:food/boiled_egg", Fluid.of("minecraft:water", 200)) - cookingRecipe("cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice", Fluid.of("minecraft:water", 200)) - - processorRecipe("pasta_tomato_sauce", 60, 8, { - itemInputs: ["firmalife:food/cooked_pasta", "firmalife:food/tomato_sauce"], - itemOutputs: ["firmalife:food/pasta_with_tomato_sauce"], - itemOutputProvider: TFC.isp.of('firmalife:food/pasta_with_tomato_sauce').copyFood() - }) - - processorRecipe('firmalife_masa', 300, 2, { - itemInputs: ["firmalife:food/masa_flour"], - itemOutputs: ["2x firmalife:food/masa"], - fluidInputs: [Fluid.of('minecraft:water', 100)], - itemOutputProvider: TFC.isp.of("2x firmalife:food/masa").copyFood() - }) - - processorRecipe("tortilla_chips", 40, 16, { - itemInputs: ["firmalife:food/taco_shell", "tfc:powder/salt"], - itemOutputs: ["firmalife:food/tortilla_chips"], - itemOutputProvider: TFC.isp.of("firmalife:food/tortilla_chips").copyFood() - }) - - processorRecipe("tomato_sauce_mix", 600, 8, { - itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfc:food/garlic'], - itemOutputs: ['5x firmalife:food/tomato_sauce_mix'], - itemOutputProvider: TFC.isp.of('5x firmalife:food/tomato_sauce_mix').copyOldestFood(), - }) - - processorRecipe("tomato_sauce_from_mix", 200, 8, { - itemInputs: ['firmalife:food/tomato_sauce_mix'], - itemOutputs: ['firmalife:food/tomato_sauce'], - fluidInputs: [Fluid.of('minecraft:water', 200)], - itemOutputProvider: TFC.isp.of('firmalife:food/tomato_sauce').copyOldestFood(), - }) - - processorRecipe("olive_paste", 60, 8, { - itemInputs: ['tfc:food/olive'], - itemOutputs: ['2x tfc:olive_paste'], - itemOutputProvider: TFC.isp.of('2x tfc:olive_paste'), - }) - - processorRecipe("soybean_paste", 60, 8, { - itemInputs: ['firmalife:food/dehydrated_soybeans'], - itemOutputs: ['firmalife:food/soybean_paste'], - itemOutputProvider: TFC.isp.of('firmalife:food/soybean_paste').copyOldestFood(), - }) - - // Vinegar - global.TFC_ALCOHOL.forEach(alcohol => { - let name = `vinegar_${alcohol.id.replace(':', '_')}`; - - processorRecipe(name, 600, 32, { - circuit: 5, - itemInputs: ['#tfc:foods/fruits'], - fluidInputs: [Fluid.of(alcohol.id, 250)], - fluidOutputs: [Fluid.of('tfc:vinegar', 250)], - }) - - }) - - processorRecipe("pizza_no_extra", 600, 16, { - itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], - itemOutputs: ["firmalife:food/raw_pizza"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( - (food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5), - [(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)] - ) - }) - - processorRecipe("pizza_1_extra", 600, 16, { - circuit: 1, - itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "#firmalife:foods/pizza_ingredients"], - itemOutputs: ["firmalife:food/raw_pizza"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( - (food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5), - [(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)] - ) - }) - - processorRecipe("pizza_2_extra", 600, 16, { - circuit: 2, - itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "2x #firmalife:foods/pizza_ingredients"], - itemOutputs: ["firmalife:food/raw_pizza"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( - (food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5), - [(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)] - ) - }) - - processorRecipe("pizza_dough_olive_oil", 300, 16, { - itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'], - itemOutputs: ['4x firmalife:food/pizza_dough'], - fluidInputs: [Fluid.of('tfc:olive_oil', 1000)], - itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood() - }) - - processorRecipe("pizza_dough_soybean_oil", 300, 16, { - itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'], - itemOutputs: ['4x firmalife:food/pizza_dough'], - fluidInputs: [Fluid.of('firmalife:soybean_oil', 1000)], - itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood() - }) - - processorRecipe("vanilla_ice_cream", 300, 16, { - itemInputs: ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla'], - itemOutputs: ['2x firmalife:food/vanilla_ice_cream'], - fluidInputs: [Fluid.of('firmalife:cream', 1000)], - itemOutputProvider: TFC.isp.of("2x firmalife:food/vanilla_ice_cream").resetFood() - }) - - processorRecipe("chocolate_ice_cream", 300, 16, { - itemInputs: ['firmalife:food/vanilla_ice_cream'], - itemOutputs: ['firmalife:food/chocolate_ice_cream'], - fluidInputs: [Fluid.of('firmalife:chocolate', 1000)], - itemOutputProvider: TFC.isp.of("firmalife:food/chocolate_ice_cream").resetFood() - }) - - processorRecipe("strawberry_ice_cream", 300, 16, { - itemInputs: ['firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry'], - itemOutputs: ['firmalife:food/strawberry_ice_cream'], - itemOutputProvider: TFC.isp.of("firmalife:food/strawberry_ice_cream").resetFood() - }) - - processorRecipe("cookie_dough_ice_cream", 300, 16, { - itemInputs: [`firmalife:food/vanilla_ice_cream`, `firmalife:food/chocolate_chip_cookie_dough`], - itemOutputs: [`firmalife:food/cookie_dough_ice_cream`], - itemOutputProvider: TFC.isp.of("firmalife:food/cookie_dough_ice_cream").resetFood() - }) - - processorRecipe("butter", 300, 16, { - itemInputs: ["tfc:powder/salt"], - itemOutputs: ["firmalife:food/butter"], - fluidInputs: [Fluid.of('firmalife:cream', 1000)], - itemOutputProvider: TFC.isp.of('firmalife:food/butter').resetFood() - }) - - processorRecipe("pie_dough", 300, 16, { - circuit: 2, - itemInputs: ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour'], - itemOutputs: ['firmalife:food/pie_dough'], - fluidInputs: [Fluid.of('minecraft:water', 1000)], - itemOutputProvider: TFC.isp.of('firmalife:food/pie_dough').copyOldestFood() - }) - - processorRecipe("pumpkin_pie_dough", 300, 16, { - circuit: 2, - itemInputs: ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour'], - itemOutputs: ['firmalife:food/pumpkin_pie_dough'], - fluidInputs: [Fluid.of('minecraft:water', 1000)], - itemOutputProvider: TFC.isp.of('firmalife:food/pumpkin_pie_dough').copyOldestFood() - }) - - processorRecipe("raw_pumpkin_pie", 20, 8, { - itemInputs: ["firmalife:food/pumpkin_pie_dough", "firmalife:pie_pan"], - itemOutputs: ["firmalife:raw_pumpkin_pie"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pumpkin_pie").copyFood() - }) - - processorRecipe("cookie_dough", 300, 16, { - itemInputs: ['#tfc:sweetener', '#forge:eggs', 'firmalife:food/butter', '#tfc:foods/flour', "firmalife:spice/vanilla"], - itemOutputs: ['4x firmalife:food/cookie_dough'], - itemOutputProvider: TFC.isp.of('4x firmalife:food/cookie_dough').copyOldestFood() - }) - - processorRecipe("chocolate_chip_cookie_dough", 300, 16, { - itemInputs: ['4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends'], - itemOutputs: ['4x firmalife:food/chocolate_chip_cookie_dough'], - itemOutputProvider: TFC.isp.of('4x firmalife:food/chocolate_chip_cookie_dough').copyOldestFood() - }) - - processorRecipe("hardtack_dough", 300, 16, { - itemInputs: ['tfc:powder/salt', '#tfc:foods/flour'], - itemOutputs: ['4x firmalife:food/hardtack_dough'], - fluidInputs: [Fluid.of('minecraft:water', 1000)], - itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyOldestFood() - }) - - processorRecipe("yeast_starter", 1200, 8, { - circuit: 1, - fluidInputs: [Fluid.of('firmalife:yeast_starter', 100)], - fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)], - itemInputs: ['#tfc:foods/flour'], - }) - - processorRecipe("yeast_starter_from_water", 7200, 8, { - circuit: 10, - fluidInputs: [Fluid.of('minecraft:water', 100)], - fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)], - itemInputs: ['#tfc:foods/fruits'], - }) - - processorRecipe("cocoa_dust", 100, 4, { - itemInputs: ["firmalife:food/roasted_cocoa_beans"], - itemOutputs: ["gtceu:cocoa_dust"], - itemOutputProvider: TFC.isp.of("gtceu:cocoa_dust") - }) - - processorRecipe("red_grapes", 50, 8, { - itemInputs: ["firmalife:food/red_grapes"], - itemOutputs: ["firmalife:food/smashed_red_grapes"], - itemOutputProvider: TFC.isp.of('firmalife:food/smashed_red_grapes').copyOldestFood() - }) - - processorRecipe("white_grapes", 50, 8, { - itemInputs: ["firmalife:food/white_grapes"], - itemOutputs: ["firmalife:food/smashed_white_grapes"], - itemOutputProvider: TFC.isp.of('firmalife:food/smashed_white_grapes').copyOldestFood() - }) - - processorRecipe("cured_maize", 300, 8, { - itemInputs: ["tfc:food/maize_grain"], - itemOutputs: ["firmalife:food/cured_maize"], - itemOutputProvider: TFC.isp.of('firmalife:food/cured_maize').copyOldestFood() - }) - - processorRecipe("soy_mixture", 300, 8, { - itemInputs: ["tfc:food/soybean", 'tfc:powder/salt'], - itemOutputs: ["firmalife:food/soy_mixture"], - fluidInputs: [Fluid.of('minecraft:water', 50)], - itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyOldestFood(), - - }) - - // These don't need the ISP handling, they're just here to keep all the food recipes together - - event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water') - .inputFluids(Fluid.of('water', 200)) - .itemInputs('1x tfc:olive_paste') - .outputFluids(Fluid.of('tfc:olive_oil_water', 200)) - .duration(200) - .EUt(28) - - event.recipes.gtceu.distillery('tfg:tfc/olive_oil') - .inputFluids(Fluid.of('tfc:olive_oil_water', 250)) - .outputFluids(Fluid.of('tfc:olive_oil', 50)) - .duration(600) - .EUt(28) - - event.recipes.gtceu.fermenter('soybean_oil') - .itemInputs('firmalife:food/soybean_paste') - .inputFluids(Fluid.of('minecraft:water', 100)) - .outputFluids(Fluid.of('firmalife:soybean_oil', 250)) - .EUt(GTValues.VA[GTValues.ULV]) - .duration(600) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') - .inputFluids(Fluid.of('minecraft:milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('tfc:curdled_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') - .inputFluids(Fluid.of('firmalife:yak_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') - .inputFluids(Fluid.of('firmalife:goat_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 2000)) - .duration(2400) - .EUt(16) - - // GT cocoa dust compat - event.recipes.gtceu.macerator('firmalife:food/cocoa_powder') - .itemInputs('gtceu:cocoa_dust') - .itemOutputs('4x firmalife:food/cocoa_powder') - .duration(100) - .EUt(2) - - event.recipes.tfc.quern('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust') - .id(`tfg:quern/cocoa_powder`) - - event.recipes.tfc.quern('gtceu:cocoa_dust', 'firmalife:food/roasted_cocoa_beans') - .id('tfg:quern/cocoa_dust'); - - //#endregion - - event.replaceInput({id: 'gtceu:shaped/lv_food_processor'}, 'gtceu:lv_electric_piston', 'gtceu:steel_whisk') - event.replaceInput({id: 'gtceu:shaped/mv_food_processor'}, 'gtceu:mv_electric_piston', 'gtceu:aluminium_whisk') - event.replaceInput({id: 'gtceu:shaped/hv_food_processor'}, 'gtceu:hv_electric_piston', 'gtceu:stainless_steel_whisk') - event.replaceInput({id: 'gtceu:shaped/ev_food_processor'}, 'gtceu:ev_electric_piston', 'gtceu:titanium_whisk') - - event.replaceInput({id: 'gtceu:shaped/lv_food_oven'}, 'gtceu:lv_electric_piston', '#tfg:metal_bars') - event.replaceInput({id: 'gtceu:shaped/mv_food_oven'}, 'gtceu:mv_electric_piston', '#tfg:metal_bars') - event.replaceInput({id: 'gtceu:shaped/hv_food_oven'}, 'gtceu:hv_electric_piston', '#tfg:metal_bars') - event.replaceInput({id: 'gtceu:shaped/ev_food_oven'}, 'gtceu:ev_electric_piston', '#tfg:metal_bars') -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 0f4bc7713..eec0f9d35 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -14,5 +14,4 @@ const registerTFGRecipes = (event) => { registerTFGSupportRecipes(event) registerTFGFishingNetsRecipes(event) registerTFGConvertingRecipes(event) - registerTFGFoodRecipes(event) } \ No newline at end of file diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 6bc9a7428..e0e9b6220 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -84,13 +84,6 @@ global.FIRMALIFE_ORE_MATERIALS = [ 'chromite' ]; -global.FIRMALIFE_JAMS = [ - "fig", - "pineapple", - "red_grapes", - "white_grapes" -] - global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' }, { input: 'firmalife:plant/fig_sapling', fluid_amount: 8000, output: '3x firmalife:food/fig', name: 'fig' }, @@ -101,20 +94,26 @@ global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/nightshade_bush', fluid_amount: 6000, output: '3x firmalife:food/nightshade_berry', name: 'nightshade' }, ]; -global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [ - { input: 'firmalife:food/white_chocolate_blend', output: 'firmalife:food/white_chocolate', name: 'white_chocolate' }, - { input: 'firmalife:food/dark_chocolate_blend', output: 'firmalife:food/dark_chocolate', name: 'dark_chocolate' }, - { input: 'firmalife:food/milk_chocolate_blend', output: 'firmalife:food/milk_chocolate', name: 'milk_chocolate' }, - { input: 'firmalife:food/raw_pizza', output: 'firmalife:food/cooked_pizza', name: 'cooked_pizza' }, - { input: 'firmalife:food/corn_tortilla', output: 'firmalife:food/taco_shell', name: 'taco_shell' }, - { input: 'firmalife:food/cookie_dough', output: 'firmalife:food/sugar_cookie', name: 'sugar_cookie' }, - { input: 'firmalife:food/chocolate_chip_cookie_dough', output: 'firmalife:food/chocolate_chip_cookie', name: 'chocolate_chip_cookie' }, - { input: 'firmalife:food/hardtack_dough', output: 'firmalife:food/hardtack', name: 'hardtack' }, - { input: 'firmalife:food/filled_pie', output: 'firmalife:food/cooked_pie', name: 'cooked_pie' }, - { input: 'firmalife:food/cocoa_beans', output: 'firmalife:food/roasted_cocoa_beans', name: 'roasted_cocoa_beans' }, - { input: 'firmalife:food/raw_pumpkin_pie', output: 'minecraft:pumpkin_pie', name: 'pumpkin_pie' }, - { input: 'tfc:food/soybean', output: 'firmalife:food/dehydrated_soybeans', name: 'dehydrated_soybeans' }, - { input: 'firmalife:food/raw_lasagna', output: 'firmalife:food/cooked_lasagna', name: 'cooked_lasagna' }, - { input: 'firmalife:food/bacon', output: 'firmalife:food/cooked_bacon', name: 'cooked_bacon' }, - { input: '#firmalife:foods/slices', output: 'firmalife:food/toast', name: 'toast' } -]; \ No newline at end of file +global.FIRMALIFE_QUERN_FLOUR_RECIPE_COMPONENTS = [ + { input: 'firmalife:food/nixtamal', output: '2x firmalife:food/masa_flour', name: 'masa_flour' }, +]; + +global.FIRMALIFE_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_flour', output: '4x firmalife:food/barley_dough', name: 'firmalife_barley_dough' }, + { input: 'tfc:food/maize_flour', output: '4x firmalife:food/maize_dough', name: 'firmalife_maize_dough' }, + { input: 'tfc:food/oat_flour', output: '4x firmalife:food/oat_dough', name: 'firmalife_oat_dough' }, + { input: 'tfc:food/rye_flour', output: '4x firmalife:food/rye_dough', name: 'firmalife_rye_dough' }, + { input: 'tfc:food/rice_flour', output: '4x firmalife:food/rice_dough', name: 'firmalife_rice_dough' }, + { input: 'tfc:food/wheat_flour', output: '4x firmalife:food/wheat_dough', name: 'firmalife_wheat_dough' }, + { input: 'firmalife:food/masa_flour', output: '2x firmalife:food/masa', name: 'firmalife_masa' }, +]; + +global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_dough', output: 'firmalife:food/barley_flatbread', name: 'barley_flatbread' }, + { input: 'tfc:food/maize_dough', output: 'firmalife:food/maize_flatbread', name: 'maize_flatbread' }, + { input: 'tfc:food/oat_dough', output: 'firmalife:food/oat_flatbread', name: 'oat_flatbread' }, + { input: 'tfc:food/rye_dough', output: 'firmalife:food/rye_flatbread', name: 'rye_flatbread' }, + { input: 'tfc:food/rice_dough', output: 'firmalife:food/rice_flatbread', name: 'rice_flatbread' }, + { input: 'tfc:food/wheat_dough', output: 'firmalife:food/wheat_flatbread', name: 'wheat_flatbread' }, + { input: 'firmalife:food/masa', output: 'firmalife:food/corn_tortilla', name: 'corn_tortilla' }, +]; diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 21cb9ddfd..936294408 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -1,5 +1,7 @@ // priority: 0 +//#region Greenhouse + const registerGTCEuMachines = (event) => { GTMachineUtils.registerCrate(GTMaterials.BismuthBronze, 54, "Bismuth Bronze Crate"); @@ -10,6 +12,66 @@ const registerGTCEuMachines = (event) => { const $SteamMulti = Java.loadClass('com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine'); const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") + event.create('greenhouse', 'multiblock') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('greenhouse') + .recipeModifiers([GTRecipeModifiers.OC_PERFECT]) + .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) + .pattern(definition => FactoryBlockPattern.start() + .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "FFFFFFF") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CCCYCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .where('X', Predicates.blocks('ae2:quartz_glass')) + .where('F', Predicates.frames('steel')) + .where('D', Predicates.blocks('tfc:grass/silt') + .or(Predicates.blocks('tfc:dirt/loam')) + .or(Predicates.blocks('tfc:dirt/sandy_loam')) + .or(Predicates.blocks('tfc:dirt/silty_loam')) + .or(Predicates.blocks('tfc:grass/silt')) + .or(Predicates.blocks('tfc:grass/loam')) + .or(Predicates.blocks('tfc:grass/sandy_loam')) + .or(Predicates.blocks('tfc:grass/silty_loam'))) + .where('C', Predicates.blocks('gtceu:steel_machine_casing').or(Predicates.autoAbilities(definition.getRecipeTypes()))) + .where('#', Predicates.air() + .or(Predicates.blockTag($Tags.block("minecraft:logs"))) + .or(Predicates.blockTag($Tags.block("minecraft:leaves")))) + .where(' ', Predicates.any()) + .where('Y', Predicates.controller(Predicates.blocks(definition.get()))) + .build() + ) + .shapeInfo(controller => MultiblockShapeInfo.builder() + .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "F##W##F", "F##W##F", "F##W##F", "F#LWL#F", "F#LWL#F", "F#LLL#F", "F#####F", "FFFFFFF") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CitYfeC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .where('Y', controller, Direction.SOUTH) + .where('C', GTBlocks.STEEL_HULL.get()) + .where('D', Block.getBlock('tfc:grass/silt')) + .where('F', Block.getBlock('gtceu:steel_frame')) + .where('X', Block.getBlock('ae2:quartz_glass')) + .where('W', Block.getBlock('tfc:wood/log/oak')) + .where('L', Block.getBlock('tfc:wood/leaves/oak')) + .where(' ', Block.getBlock('minecraft:air')) + .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.SOUTH) + .where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.SOUTH) + .where('f', GTMachines.FLUID_IMPORT_HATCH[GTValues.ULV], Direction.SOUTH) + .where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.LV], Direction.SOUTH) + .build() + ) + .workableCasingRenderer( + 'gtceu:block/casings/solid/machine_casing_solid_steel', + 'gtceu:block/multiblock/implosion_compressor', false + ) + + //#endregion + //#region Nether Dome event.create('nether_dome', 'multiblock') diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 979ef3a46..7ba54d0be 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -1,6 +1,13 @@ // priority: 0 const registerGTCEuRecipeTypes = (event) => { + event.create('greenhouse') + .category('greenhouse') + .setEUIO('in') + .setMaxIOSize(3, 4, 1, 0) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.BATH) + event.create('nether_dome') .category('nether_dome') .setEUIO('in') diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index d7f2c995e..ce425b1ff 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -852,7 +852,7 @@ global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = [ { input: 'tfc:volcanic_glass_batch', output: 'tfc:volcanic_glass_bottle', name: 'volcanic_glass_bottle' }, ]; -global.TFC_MEAT_RECIPE_COMPONENTS = [ +global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS = [ { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, @@ -924,39 +924,41 @@ global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = [ { input: 'firmalife:ore/small_chromite', output: 'gtceu:small_chromite_dust', name: 'chromite' } ]; -global.TFC_GRAINS = [ - "barley", - "maize", - "oat", - "rye", - "rice", - "wheat", -] +global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley', output: 'tfc:food/barley_grain', name: 'barley_grain' }, + { input: 'tfc:food/maize', output: 'tfc:food/maize_grain', name: 'maize_grain' }, + { input: 'tfc:food/oat', output: 'tfc:food/oat_grain', name: 'oat_grain' }, + { input: 'tfc:food/rye', output: 'tfc:food/rye_grain', name: 'rye_grain' }, + { input: 'tfc:food/rice', output: 'tfc:food/rice_grain', name: 'rice_grain' }, + { input: 'tfc:food/wheat', output: 'tfc:food/wheat_grain', name: 'wheat_grain' }, +]; -global.TFC_JAMS = [ - "blackberry", - "blueberry", - "bunchberry", - "cloudberry", - "cranberry", - "elderberry", - "gooseberry", - "raspberry", - "snowberry", - "strawberry", - "wintergreen_berry", - "banana", - "cherry", - "green_apple", - "lemon", - "olive", - "orange", - "peach", - "plum", - "red_apple", - "pumpkin_chunks", - "melon_slice", -] +global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_grain', output: '2x tfc:food/barley_flour', name: 'barley_flour' }, + { input: 'tfc:food/maize_grain', output: '2x tfc:food/maize_flour', name: 'maize_flour' }, + { input: 'tfc:food/oat_grain', output: '2x tfc:food/oat_flour', name: 'oat_flour' }, + { input: 'tfc:food/rye_grain', output: '2x tfc:food/rye_flour', name: 'rye_flour' }, + { input: 'tfc:food/rice_grain', output: '2x tfc:food/rice_flour', name: 'rice_flour' }, + { input: 'tfc:food/wheat_grain', output: '2x tfc:food/wheat_flour', name: 'wheat_flour' }, +]; + +global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_flour', output: '2x tfc:food/barley_dough', name: 'tfc_barley_dough' }, + { input: 'tfc:food/maize_flour', output: '2x tfc:food/maize_dough', name: 'tfc_maize_dough' }, + { input: 'tfc:food/oat_flour', output: '2x tfc:food/oat_dough', name: 'tfc_oat_dough' }, + { input: 'tfc:food/rye_flour', output: '2x tfc:food/rye_dough', name: 'tfc_rye_dough' }, + { input: 'tfc:food/rice_flour', output: '2x tfc:food/rice_dough', name: 'tfc_rice_dough' }, + { input: 'tfc:food/wheat_flour', output: '2x tfc:food/wheat_dough', name: 'tfc_wheat_dough' }, +]; + +global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS = [ + { input: 'firmalife:food/barley_dough', output: 'tfc:food/barley_bread', name: 'barley_bread' }, + { input: 'firmalife:food/maize_dough', output: 'tfc:food/maize_bread', name: 'maize_bread' }, + { input: 'firmalife:food/oat_dough', output: 'tfc:food/oat_bread', name: 'oat_bread' }, + { input: 'firmalife:food/rye_dough', output: 'tfc:food/rye_bread', name: 'rye_bread' }, + { input: 'firmalife:food/rice_dough', output: 'tfc:food/rice_bread', name: 'rice_bread' }, + { input: 'firmalife:food/wheat_dough', output: 'tfc:food/wheat_bread', name: 'wheat_bread' }, +]; global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'tfc:plant/cherry_sapling', fluid_amount: 8000, output: '32x tfc:food/cherry', name: 'cherry' }, @@ -1014,14 +1016,7 @@ global.TFC_MILKS = [ {id: 'minecraft:milk'}, {id: 'firmalife:yak_milk'}, {id: 'firmalife:goat_milk'}, - // Uncomment this if firmalife ever makes this obtainable - //{id: 'firmalife:coconut_milk'}, -]; - -global.TFC_CURDS_AND_CHEESES = [ - { id: 'milk', input_fluid: 'tfc:curdled_milk', curd: 'firmalife:food/milk_curd', cheese1: 'gouda', cheese2: 'cheddar' }, - { id: 'yak', input_fluid: 'firmalife:curdled_yak_milk', curd: 'firmalife:food/yak_curd', cheese1: 'shosha', cheese2: 'rajya_metok' }, - { id: 'goat', input_fluid: 'firmalife:curdled_goat_milk', curd: 'firmalife:food/goat_curd', cheese1: 'feta', cheese2: 'chevre' }, + {id: 'firmalife:coconut_milk'}, ]; global.TFC_ALCOHOL = [