From c56745087522cf4d95207a6bff6c82ed84d4e281 Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Fri, 20 Jun 2025 03:49:39 -0500 Subject: [PATCH] - Lots of food stuff (#1196) * - Lots of food stuff * Updated Changelog --- CHANGELOG.md | 1 + kubejs/assets/tfg/lang/en_us.json | 37 ++++++ .../tfg/textures/item/clean_foil_pack.png | Bin 0 -> 522 bytes kubejs/assets/tfg/textures/item/dry_ice.png | Bin 0 -> 5009 bytes .../tfg/textures/item/dry_ice.png.mcmeta | 5 + kubejs/assets/tfg/textures/item/foil_pack.png | Bin 0 -> 416 bytes .../tfg/textures/item/food/calorie_paste.png | Bin 0 -> 347 bytes .../item/food/freeze_dried_banana.png | Bin 0 -> 454 bytes .../item/food/freeze_dried_blackberry.png | Bin 0 -> 456 bytes .../item/food/freeze_dried_blueberry.png | Bin 0 -> 452 bytes .../item/food/freeze_dried_bunchberry.png | Bin 0 -> 455 bytes .../item/food/freeze_dried_cherry.png | Bin 0 -> 450 bytes .../item/food/freeze_dried_chorus_fruit.png | Bin 0 -> 455 bytes .../item/food/freeze_dried_cloudberry.png | Bin 0 -> 454 bytes .../item/food/freeze_dried_cranberry.png | Bin 0 -> 456 bytes .../item/food/freeze_dried_elderberry.png | Bin 0 -> 459 bytes .../textures/item/food/freeze_dried_fig.png | Bin 0 -> 457 bytes .../item/food/freeze_dried_glow_berries.png | Bin 0 -> 457 bytes .../item/food/freeze_dried_gooseberry.png | Bin 0 -> 457 bytes .../item/food/freeze_dried_green_apple.png | Bin 0 -> 455 bytes .../textures/item/food/freeze_dried_lemon.png | Bin 0 -> 452 bytes .../item/food/freeze_dried_melon_slice.png | Bin 0 -> 455 bytes .../textures/item/food/freeze_dried_olive.png | Bin 0 -> 454 bytes .../item/food/freeze_dried_orange.png | Bin 0 -> 453 bytes .../textures/item/food/freeze_dried_peach.png | Bin 0 -> 458 bytes .../item/food/freeze_dried_pineapple.png | Bin 0 -> 454 bytes .../textures/item/food/freeze_dried_plum.png | Bin 0 -> 460 bytes .../food/freeze_dried_popped_chorus_fruit.png | Bin 0 -> 454 bytes .../item/food/freeze_dried_pumpkin_chunks.png | Bin 0 -> 454 bytes .../item/food/freeze_dried_raspberry.png | Bin 0 -> 454 bytes .../item/food/freeze_dried_red_apple.png | Bin 0 -> 455 bytes .../item/food/freeze_dried_red_grapes.png | Bin 0 -> 449 bytes .../item/food/freeze_dried_snowberry.png | Bin 0 -> 455 bytes .../item/food/freeze_dried_strawberry.png | Bin 0 -> 451 bytes .../item/food/freeze_dried_white_grapes.png | Bin 0 -> 452 bytes .../food/freeze_dried_wintergreen_berry.png | Bin 0 -> 458 bytes .../tfg/textures/item/food/meal_bag.png | Bin 0 -> 491 bytes .../tfg/textures/item/used_foil_pack.png | Bin 0 -> 463 bytes .../gregtech/recipes.recycling.js | 21 ++++ kubejs/server_scripts/tfc/tags.js | 4 + kubejs/server_scripts/tfg/data.js | 20 ++++ kubejs/server_scripts/tfg/recipes.food.js | 106 +++++++++++++++++- .../tfg/recipes.miscellaneous.js | 65 +++++++++++ kubejs/server_scripts/tfg/tags.js | 22 +++- kubejs/startup_scripts/main_startup_script.js | 3 + kubejs/startup_scripts/tfg/constants.js | 34 +++++- .../startup_scripts/tfg/events.food_traits.js | 5 + kubejs/startup_scripts/tfg/items.food.js | 45 +++++++- kubejs/startup_scripts/tfg/items.js | 14 ++- 49 files changed, 371 insertions(+), 11 deletions(-) create mode 100644 kubejs/assets/tfg/textures/item/clean_foil_pack.png create mode 100644 kubejs/assets/tfg/textures/item/dry_ice.png create mode 100644 kubejs/assets/tfg/textures/item/dry_ice.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/foil_pack.png create mode 100644 kubejs/assets/tfg/textures/item/food/calorie_paste.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_banana.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_blackberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_blueberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_bunchberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_cherry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_chorus_fruit.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_cloudberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_cranberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_elderberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_fig.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_glow_berries.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_gooseberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_green_apple.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_lemon.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_melon_slice.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_olive.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_orange.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_peach.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_pineapple.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_plum.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_popped_chorus_fruit.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_pumpkin_chunks.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_raspberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_red_apple.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_red_grapes.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_snowberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_strawberry.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_white_grapes.png create mode 100644 kubejs/assets/tfg/textures/item/food/freeze_dried_wintergreen_berry.png create mode 100644 kubejs/assets/tfg/textures/item/food/meal_bag.png create mode 100644 kubejs/assets/tfg/textures/item/used_foil_pack.png create mode 100644 kubejs/startup_scripts/tfg/events.food_traits.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 22525a761..e3932cd72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - New bedrock ore veins on the moon! Much better sources of infinite materials than stone dusts. @TomPlop - New machines to properly automate food, along with proper compatibility between machines and TFC's food system, so you can't turn rotten grains into fresh bread any more. The electric greenhouse now also always outputs fresh food. @ofoxsmith - New electric refrigerator with different tiers. You can craft the old one into this new one, but please take your food out of it before upgrading otherwise it will be lost! @ofoxsmith +- Added many new advanced food items including freeze-dried fruit, calorie paste, and meal bags. @Redeix - Quest updates for all of the above. @TomPlop ### Minor changes - Balance changes for water wheels @Pyritie diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index e0b8a61af..f225e0684 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -282,6 +282,7 @@ "item.tfg.food.cooked_crawlermari": "Cooked Crawlermari", "item.tfg.food.raw_limpet": "Raw Limpet", "item.tfg.food.cooked_limpet": "Cooked Limpet", + "tfg.tooltip.foodtrait.freeze_dried": "Cryodesiccated", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -358,6 +359,41 @@ "item.gtceu.silver_purified_ore": "Deprecated Item, Craft to Upgrade", "item.gtceu.tin_purified_ore": "Deprecated Item, Craft to Upgrade", "item.gtceu.lead_purified_ore": "Deprecated Item, Craft to Upgrade", + "item.tfg.foil_pack": "Foil Pack", + "item.tfg.used_foil_pack": "Used Foil Pack", + "item.tfg.clean_foil_pack": "Clean Foil Pack", + "item.tfg.dry_ice": "Dry Ice", + "item.tfg.food.freeze_dried.red_grapes": "Freeze Dried Red Grapes", + "item.tfg.food.freeze_dried.white_grapes": "Freeze Dried White Grapes", + "item.tfg.food.freeze_dried.glow_berries": "Freeze Dried Glow Berries", + "item.tfg.food.freeze_dried.chorus_fruit": "Freeze Dried Chorus Fruit", + "item.tfg.food.freeze_dried.popped_chorus_fruit": "Freeze Dried Popped Chorus Fruit", + "item.tfg.food.freeze_dried.blackberry": "Freeze Dried Blackberries", + "item.tfg.food.freeze_dried.blueberry": "Freeze Dried Blueberries", + "item.tfg.food.freeze_dried.bunchberry": "Freeze Dried Bunchberries", + "item.tfg.food.freeze_dried.cloudberry": "Freeze Dried Cloudberries", + "item.tfg.food.freeze_dried.cranberry": "Freeze Dried Cranberries", + "item.tfg.food.freeze_dried.elderberry": "Freeze Dried Elderberries", + "item.tfg.food.freeze_dried.gooseberry": "Freeze Dried Gooseberries", + "item.tfg.food.freeze_dried.raspberry": "Freeze Dried Raspberries", + "item.tfg.food.freeze_dried.snowberry": "Freeze Dried Snowberries", + "item.tfg.food.freeze_dried.strawberry": "Freeze Dried Strawberries", + "item.tfg.food.freeze_dried.wintergreen_berry": "Freeze Dried Wintergreen Berries", + "item.tfg.food.freeze_dried.banana": "Freeze Dried Banana", + "item.tfg.food.freeze_dried.cherry": "Freeze Dried Cherries", + "item.tfg.food.freeze_dried.green_apple": "Freeze Dried Green Apple", + "item.tfg.food.freeze_dried.lemon": "Freeze Dried Lemon", + "item.tfg.food.freeze_dried.olive": "Freeze Dried Olives", + "item.tfg.food.freeze_dried.orange": "Freeze Dried Orange", + "item.tfg.food.freeze_dried.peach": "Freeze Dried Peach", + "item.tfg.food.freeze_dried.plum": "Freeze Dried Plum", + "item.tfg.food.freeze_dried.red_apple": "Freeze Dried Red Apple", + "item.tfg.food.freeze_dried.pumpkin_chunks": "Freeze Dried Pumpkin Chunks", + "item.tfg.food.freeze_dried.melon_slice": "Freeze Dried Melon Slice", + "item.tfg.food.freeze_dried.fig": "Freeze Dried Fig", + "item.tfg.food.freeze_dried.pineapple": "Freeze Dried Pineapple", + "item.tfg.food.calorie_paste": "Calorie Paste", + "item.tfg.food.meal_bag": "Meal Bag", "gtceu:rich_raw_copper": "Deprecated Item, Craft to Upgrade", "gtceu:poor_raw_copper": "Deprecated Item, Craft to Upgrade", "gtceu:rich_raw_gold": "Deprecated Item, Craft to Upgrade", @@ -501,6 +537,7 @@ "tfg.food_recipe.brining": "Brining", "tfg.food_recipe.smoking": "Smoking", "tfg.food_recipe.drying": "Drying", + "tfg.food_recipe.freeze_drying": "Dessicate", "tfg.recipe.macerator_warning": "Only outputs first slot until HV", "tfg.grapplemod.repair": "Repair recipe, keeps your upgrades. §lNEVER combine two grapples or you'll lose ALL your upgrades!§r", "tfg.grapplemod.upgrades.maxlen": "Increases §lMax Length§r by 20, up to 200.", diff --git a/kubejs/assets/tfg/textures/item/clean_foil_pack.png b/kubejs/assets/tfg/textures/item/clean_foil_pack.png new file mode 100644 index 0000000000000000000000000000000000000000..73bcf233364c321ce6a7a9bb8664dbdeb3e4a53b GIT binary patch literal 522 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/dry_ice.png.mcmeta b/kubejs/assets/tfg/textures/item/dry_ice.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/item/dry_ice.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/item/foil_pack.png b/kubejs/assets/tfg/textures/item/foil_pack.png new file mode 100644 index 0000000000000000000000000000000000000000..6c275d4545ad5b2e8ed2526da84ac9e887cc8a02 GIT binary patch literal 416 zcmV;R0bl-!P)LlOdAAFcgNrboK}@s-~{f14QBKa3~CdGaza>0E6QU zwJ2O2u8I@HVWPrt1hQt6X(^rEnf+Be>Hod|y_c#G0{_uhe0aTHql30>hh(+gZYSm} z%TO`F5YV%VzHRc;9cJP2@s&`I;^#GKhNR-0000< KMNUMnLSTYUoVj=a literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/calorie_paste.png b/kubejs/assets/tfg/textures/item/food/calorie_paste.png new file mode 100644 index 0000000000000000000000000000000000000000..6bcea6b2ff3075cae4ed8ddb07a924f3b0d34a36 GIT binary patch literal 347 zcmV-h0i^zkP)rlf6mz3Q zLW=kVfz@J-g%HwNZJJbq$_jzx3fgZmDRi&1y9o#>GH{DKGv~}X_s56`yTrjxXy6ba zNfM%$H=^gam@2{vYo)%m3Sw|Twa_5&}sQ}T0VdyX*7Lz zKH7pt$ILV&^WmRj8_c>V<&-J2>fcDWQiJq6}G tXTX{Oz&uW-0^}c20hB53{V(jFU=44UWOFiEQ#Swr002ovPDHLkV1gYcig*A3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_banana.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_banana.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca12b7cb990cc7f0c2561556c4510cb12695d73 GIT binary patch literal 454 zcmV;%0XhDOP)Llc8_IKop0+YbKUpd#YkhNFZbhj)Vk2!)c_$jS*!4Mz}L$=#3{eEBEHOS*v^eX`B zn8NcrNs<&2m6l+njwt}=^BJ&>WVKqA8?;(2D*Dw1$4N?(B)G1N)*30LxJ$5DEV5p& zcaz!Za=Co(D^*^CY20Kov3rL&+?JhfZc8fK(pDj??5SKp8BnU=Xt^q wtk-M%BXzr7qA0TX%jNP<1a?e$GeeQr7iZqTJ3x@XCjbBd07*qoM6N<$f{TyDi2wiq literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_blackberry.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_blackberry.png new file mode 100644 index 0000000000000000000000000000000000000000..63011bff7a41ac53b7f2e18d16a87b70e0c942e7 GIT binary patch literal 456 zcmV;(0XP1MP)LldX;-K@^3*>g*$QWkriA1;OA*NN_mBCYZsH8T3j7 zh6f-xG_o@eGq`rRRy+YHOsVRS5NdGHD>hZrJq_7S=9vDy=YHo_mB{m)@92lSx!rE1 z4{;n9oyBN0suTx7fN%swgE)=>@!=05~3x0Af5I|I;83!_YrVDN#ysI2=gR z6aZrk^Z8r^kFrTAky84fx7#ho7>2_kold7ZgRe5iR15)8{A|v`HWysJiq)xDOFm+*=%+{f-AQ6gtaH%T}p}8n!#Wo ziWHt;I-TbAdfj6_)qhf})d+%scDwEA97V-IYwhzzQ3Sw#zXzb%Z2EnmwRT&*Y!F3} ya0Hvp#vi0^w@aF)9)Go3{TG2>rlOgnDC!Tbyub6;xfb;R0000Lld)>TP!xv08~O;jQz!%k#l=k!oa*N0JkR-$p3KATcDp-> zqNwOB#^Z6R*l`?$At)L|Q3Q}Tn@xP*CyrwPvMd7-lgZ>)gWPpp`!1!#_kDJ|9Z8Y^ zptWW`p9`ldo0JkMrTuulUZb^UG#b(EcFQyPDXn$M5Fn0YHk%ED!9YATDB=fU2EgTf z;C%{dnwA<>MliaZ4*(pGN5Bq}<#JhV&~CR0!ps(bex#&nitD;)t&viShXi35=KX&E zuCvkgdIdl!RUN?$E(n6}2&X-7ug}zKwYwG0X0yi;O!4Kk=W^QH?ovvWQVfSfQKYb2 zm`pV(}M?#h(c5nu=zIqNpz^p1{Cx=xCk*0000LldWz7K@^3*+4K>1)QWCG0-*v&LW0AQG${&$pr#Li zz~CxMaJ)g2twiD0;a2ekpfHn=&IE;I*otN*OBd26J!=2%x!<{WR^)lke{|k&SE$mmWqQQKsbV;L6Rf@dA(jIj$_g^1>kTv0Ep3O^s7N0hM~WgQWD28yWNf~ z%K*??Gn>ssa4VaX5-Fwsc)ebuwPr9F&~CTOGx#a3b;%GQO;a|T4ZU7ZTs0`-o0n$* zKJA%@_YaIQrA9X+IDOjh*&L5Yzz>q;a(UaJ*=%B7o_(>l7Gn%y7^1aCN-3@q%;)pG z+wER-cCyw2pp?2D!3}Oa9{XqeljZ*PjY_3*vBK$edOd_xqwq z;kPiEO!8W-<}uCV6V+;!AP8u+TAt2Plnj(oK3^0?0BpBg02+;kKL<)FchoNpq9_uM xV6|HLAF0#nkY$<2Un~}XBJgV}nmLN1z5wD4!AArMx*-4n002ovPDHLkV1h9P#V!B< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_cherry.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_cherry.png new file mode 100644 index 0000000000000000000000000000000000000000..6c9e782eccb3581718cb5ed47be3569f6f697d92 GIT binary patch literal 450 zcmV;z0X_bSP)LlOb=yKp2LfyUfq@R812S2nI(&g2N$}RACT^{Q?9A zyM*BQ3u`ik!qwrb_yv#&%r#lAL1EiYYB>$Q+g*_2W!rQFAd!vSLq)9IAqa9E$gPZ?ush5&IKb37gi!%*BcsN&1#ufe5x z4zF)ySypS*7{Myda{#W_E8qsnZntYT==b}`=b0=1$P2P8!}C0hF({?PU4qSKQ;x^u zo6c7G_gQP*9KjB5u~<|h6gLlf8-}K@^3*YUT-+uBej+L2(Dn1P3#N1v4XAFz^`+ zOnd+_^BFodGV9E&BcDKL0+Whv(Kw4RlW1=+R870B?7*C;|L(cpxwl#sMZtIU;4Utg z%hih{Ny^S@JRVnygCIaTg0ex9BmhOT*(8o*(liAi&vO7ZnN0p`P=sOV@3q#%am?Xx zAj>iUM1;j+p@MtawAN^?{m0ww77<}I8qw``t26jlB2qB~NYj+vZpUCSP&W-BwucDv1U`r?c8KRMP~!Z1Wc&|0gT1k2^J z==b|qot@6-GXTbz`w`sWrqk)?v!n3%>nF8Z?P`Vd`TTYSS1d54?wHc^5?)9&G x5o|Ua|0DH!J+dtG_^Z|GO9XyRWiv-n)?e6m!8n*{>)-$Y002ovPDHLkV1mM$&~E?$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_cloudberry.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_cloudberry.png new file mode 100644 index 0000000000000000000000000000000000000000..187085684fe6e289fed11151cc318fcb87a63b41 GIT binary patch literal 454 zcmV;%0XhDOP)Lldo^WP!xr~*I?)RR812S2nID05*%tc6b6A^a0m>^ z#0=o@bG0a39j=PM0A?_cWO)sWge@s_>b7z_%}9V7J==P_NhRIZ#TOqn07*qoM6N<$g35EofdBvi literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_cranberry.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_cranberry.png new file mode 100644 index 0000000000000000000000000000000000000000..01b1ddb55ca3ba148c8ad0f1d26044f9c83f01ab GIT binary patch literal 456 zcmV;(0XP1MP)LlOb=yKp2LfYxWa*s-_DG1Th>53CRQwhr%GxNV1SD zm^p$PKVYgBg{#9=@e4pT&_L@ zK~QuS!{M-0>^Kg>5EKo9AOOhg^*X-q6NVuG$Kw$|jK||&4RY6Y?X#2;-}l+?_e41P=dOdN|pokxjUI93y zXP!RZNs^>=(A@||hx81<>2v~YBU!Ch_YIoOCh_Ri7ANT^Ns{2YE?R4(l;S4AVzJ1( z-R{-NMp>2tpp?2F!8C3%nb>!6dgk%%g-WGzHNx3!b~}P8j?**oH$|3ZNGVZD(eL*~ zk-|=4I-TaVTFqh}yU$dsRUF5m)oNKfLs2qNO4)p#=K-+W?Eq*r8ulJ2rOZ{oHt;-8 y7=rbBZGWUrr$ZD)7Js>1{)xbjsc2>>iuwY=aKR-$X~xL_0000LlcBESKoo|*Y3?I*RLxui!5}taLxRKMP^>^;H`z4^ z3~H0RA)t7Mu_#;}u8JoBg&8#ssvC-cuGpPPyM^pc?r+*T?fK7l&di9SDENq8+{^ub zuYAy2mz~9AGN~m8L4a@sWdp4>K+$ToP)ZTUF#zZD89+>@)BhS2VHo@%=?n1iLlf7yJK@^3*S@H-wO}1GO6d_0&L9hte*#s*a3rXI< zLI^&9*olv@t)#Hq&TcE)G+NnAH4_7iXr-HKhBd1skW=m7J@-5J&WbF{_>b=F#rb@` zco9WW-dXhf{X((lc?e68H;AGLAgflZgkeY=#{lehI{+~l41P7peBXEXQcA)wWV_vx zBnbdoYbKM4@NQ+3QX-{vAFoy`wAS=`J(|sCaRxu7wJsO}#Bt1ey{6OYh^q#9{Eyi? z0H4Q{r?*#(F@;7qBUpVNQvmk+J>Uk(VzIbwP_Nhdn7zB=uj3wL48HH9wMI%Qt`bbA z)2!WYUv#!QolXEKrEW*CgBuQq?wL8HJia_rDwQr)I3AC$N3g}_kYWz0>n^24DMh#2 z6?qD`h0$n~RVo#Sd3v~~TrT5z9*suB(OHUufl|ul3xWWE&1M5YtyXjAKq+O9`lUe- z1i}(5mrM5}wOTEbBysrj`TS1=ZcTYJOOe+%W~9Kr!@cGc00000NkvXXu0mjfBgn&E literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_glow_berries.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_glow_berries.png new file mode 100644 index 0000000000000000000000000000000000000000..be3e900148505aef26d9809bc773d85e9b4d9c97 GIT binary patch literal 457 zcmV;)0XF`LP)LlPzz;P!xur+bpP=CB3Sq2?+#)BO$?&OfZFF0)d@H zU@&t8#~+xfMd6CVRq+czA-H78Z3ryLLZ|LcSs`1pSM}?>=XuY$6=|CCA3d0h%jI(Q zA_#)4v*`7Dxnjq05QZRY5Cj20TB%gN0HWXT|7wuBu50h5l=!~SX0suR zA^^13jK^c)+{-4VL`rEtUM`ntt?72VG#ZWk41P*$oihXo!;sZ#MZ4V=Hx07*h4~u* zyJG^cAH;E-Yjih)(e9W4a5|j;J4j};*?ogrtwv$~W{W?+&ctzy>$+&Iky47A1e3`m zZM9lgosG`tGXP4d`w`6G27`fpwml>~KEG2e7Oz$~8jWs8FvZ(L!uF8Z?ovvWQgk{U zk)^O(7!HSNxm>oG>!%k=r4o+gP_Nf5ouSAXD5Y#Z&+`CSuh#%nt5tgrlv3uXUmJLy zCk(-2v9Lc00000NkvXXu0mjfnqtEB literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_gooseberry.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_gooseberry.png new file mode 100644 index 0000000000000000000000000000000000000000..e8eb7c407bcc25cb337a50d93c77e57e4bbe2c29 GIT binary patch literal 457 zcmV;)0XF`LP)LldWz7K@^3*+0@tUs5P6AKrmF1kdRbRg~Jqs;2B6m z((nKTRi0rj3b#oGZWX!$6lT;+DQ!^O!dA^>=|bA1NA2G|_dEB_iY&|ckFM;+@pwFW z5k*nnS@iq;Lb2z02uqMRh@uD}t5&OoVMrXu0BpBg05KR0el^H^-*@*?O2RN?v)Pa& z2>@DaCXE*JvDam;G9qSNV!vj%zm=a)wS z-d|JhZ=W#66dGNOVDBZ{gYWxjt&viSvjo%W zG;6opC!MVhhXVjgsml@U;D*DYd$uzvcQ+4|N~Mz(j>qHk5p40!r0h)Ux=SfhO403h zMV`WKVKf?Ll}g27UVq(EE|>8#l{nQ`` z0$~Xji-r4LlP_<=Kp4h<*X$$oR812S7zVL~gakFFa3~B*_zYx0 zj1NF?m?hJ-C|n(`3N;A|bLuXgflV~fiRCV3g>12x}K z5k*naSqz86QnBZG2un~jh@uD}uh;8@VMrXu0HkROAV#CnuLimA`|e&!Nf?Igb~}8Yt2xZu{DEqS}jLsDM|)PDVHw@0syw#EdY&1!<_@Als)R_20;)A xOR!q4+>g}hbV!oK;V%}8KM}Y!70oO~QD3l3!4D-{MKJ&X002ovPDHLkV1hG6#G?QJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_lemon.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_lemon.png new file mode 100644 index 0000000000000000000000000000000000000000..053bac6cb6c3197e9f5edd42ec2e8605780b148d GIT binary patch literal 452 zcmV;#0XzPQP)Llf8<FiPkw%5wPv6*0HrK{O$hPW~8!k#LB_uTK?I}vG`@*lmJi~Ifl@FEC; zth4C%`?+GraS(xkiN%jP{2s0O#`=u!Cf=SQH!7>vg=>p)EchuOvx=>$+&Iky47M1hd&JZMWMG zosDj{8vshF;s|DNqtVDd+wLxW@lL5!dRXCPGI<`s6mNGIw!4e%E~P{%MYr1(Sqi&_ z@pzn8DiwN$X%Q%ihtMz8-3`NdBDP{9{o(I5sy#}CGtJ!m)lrl&C(ZKUOVF;GX urTvkb%_dP4S^W8Y{wD&vrmUHv$m$!KyuZz->|LG!0000Lldo>VP!z_0x7*&JSJgBjfnabfBsjz}914Tr8OTDG z@BjoyvNxzj;p%V|1YQ6X=BnEk1PTJ3x;JHoY{@>=f9E^D@0?qaWf}j`v$?oluQxA( zAjmt5e!pKRb{q#`2=WF&5CCM=Y8Bu23BwS8G))1-U@-XAAah;U-b*R*eV^TKM-)W> zXsww{Cc=4?O-hNB(tf;Jt-A_ho5dOYl-9an2oQ!Lo6Uw!rz7qfS* znfJFZ;y5ledKkfIpPm6Y9*=+>B=hV&f*IU!IJD1_Lsd_RIIPLdNzacDo`^ zVYe_Ejj~FmVliKyT9nIW9LJ&2XjnQ!Q7}+S*?gYo0kGX}0jSk#_8cgs%u&BJ@H|f# xg2iHCf23BcMHEFAe>R)_iNLNYZ)Pa+`UZuRzsaS?37`M~002ovPDHLkV1m4u#qR(B literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_olive.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_olive.png new file mode 100644 index 0000000000000000000000000000000000000000..6d6ee80bd331cb13c11fe90089bcdbc1c027e734 GIT binary patch literal 454 zcmV;%0XhDOP)LlRay~P!xur8@iOPxl@*apt#sc5Ns*9ITV~+9Q+Lq zF8%;<^EYI5a?2)yWO5gDa=FuuQNgjAPWKWULkoSUe4Y0^?>RRjO;i4(Cv$PT-R@ol zL6CJ8{eC}J>^Kg>5M&L4AOJ|K)hfR46NVuGNs<7F!C>&KLF&4$y_Ztr`#$^qo+yd{ z&{{K@OoUUEO-hNB(tf;NuhCl5>-A_hoB0|1l-4?D2oQ!L+wGQ4rz0L3Wbs#<R9ZmpTE*HQKlKFgIY*4S)S#6fK_?(=H;~3X<(OM&=6b}ie(`njn zx9>U|U9VRFlv2eJ%;1K@p?#LVm^PpP%f8o9EV1uVd)G-&Oj+;^Ld^Jz;3q#pjNBdbD)$mNB!Qw^E_b) w7K?@bky@=5Q50GH*=+VF0=uTHnW4z)8wq^CRmKb}TL1t607*qoM6N<$f`Lldo>VP!z_0x7j1~n$2v}RlgZ>)gWPppdoQKL_kDJ|9dR53 zptWW`p9`ldo0JkMrTuub*`T#%G#b(EcFQyPDXn$M5Fm;ow%aX(!9d(KDB?dR0RV?% zhJJo0P191N$_Pe>V+O$adT~pD_P!#nI7hJ(JBMRx100000NkvXXu0mjf7Ffo3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_peach.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_peach.png new file mode 100644 index 0000000000000000000000000000000000000000..cce2ccc6e02b99f5d55353c42f4ed3d038a07e45 GIT binary patch literal 458 zcmV;*0X6=KP)R5*>Llf7yJK@^3*SyD)<6g$;63xZ-1J3+9MG@ z!XiF^*y$^5Yh}0C*lpztL@NtN0<(w-qLpr{8P=?lKu)!P_uTK?J1deT;XisX7njTB z>O~L)X=l;tbTY+`;~)${+8_u5fTUC^;rl*e7y_`{?Epl#+x^ubab4HmODXYvpY?i8 z6h#1Ntr-r7!nv1CN{N)xe!N&L&|1@Ox2e@?*%|zl);ePd5QZVk<&tKzDQ+61@pH2= z0Nc+KwBCs0IMe8E1f%We34p`l0N6n?olfr?R4Ns6v#~Ay_&O2CF|O;PwMI%QZW4?} zqomPjTy-`&pU(g&rS3;CgX{Hr_St5CLldo>VP!z_0x7j1~s)}_Xfnb;-S%PBB+KQp+@RTPa{n;1#Y&w>k_6Xv(OM&=6gLUx^Lf_k zbgnuZozLfQGgThJ3~n?U*=O-C<@5AHrBb#H=RhfCj{3EM=Xt^q wtX3=gBemOYqA0TXi^bwk1a?h%GeeQr7w4zIq4^gR1ONa407*qoM6N<$g5g`oBme*a literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_plum.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_plum.png new file mode 100644 index 0000000000000000000000000000000000000000..0a264cf88187f2e0da91a2ff28be30a50ef738d3 GIT binary patch literal 460 zcmV;-0WLlc8=ZK@^6++4d23)S695;9_tzBsfG9L=zN-CWt-( zX)xF(1c$8cS`=;_ZWVn2P?%A(kSm~7!&Z=)EL}*O^r)TLIsf_ob7n-AW&9;>?Z@$W zJo^zvQC?Z}`~5<)=XnTAkQa!e2q3FgtAt@l9LE6cb~^wu7z}-YbhmR7_!-H zNRk8qtu>R$M0nS{Nhy(1y2H!m60J48UXNz8S?t00&{`J+0pd7jwOY~Xbi_r0JpTLB z>&d(M;QsBIG))VIu3E6MGamr#_xscO)JW#@`E`MMz0Uj7t4scGK1tIQ-}lj4Bc&7< z38vF&)^4}YD%&u|0HBn*ZoxKgI2^jYtvPV_@<^#vIve45JictfCU4DwtvR^rQc9Fk zbh}-Vr*KmkjYe6eQgN6!5C15a%XpqgqtS45mZBh_lyd%pAOK*!UIS38)!aQ$O4+M^ zE)WEPump?6!abx`t3{F|4u3YA{ffYiDKBOz^6>@S@xUtcAUsC^0000LlP`+`K^Vq=vs}KkleR1fiX7Mk!6sL1!hyx$XE1od z4_&?|t6i^S-kp%QF6>7khEL-R@pQ zQIvNU{eHht?0Fu-666h{C<4f;)hb~a62~zBX_^9v!C>&KLFW6uyO&ZDh9Ud?o+L>C z&{{K@OoaC=o0JkMrTcijUZb_9*Xz-2Hj6X(DXn$E5Fn0Yw%aY8PDea6$m1_(8vu@% zl#kDMj4_2qPa{|zFDU@0(+O~cWU*L0H>lU^EN2^6eEd3KjKTMPwAM%|#Y2MWbegr> z?Yqua*XtDkrPT8Xc5uVt&^%sNWj|K_D!_ wYPE7dQmfS>NfL)YpU?k9;MSBkvlMxK181whsLC~*z5oCK07*qoM6N<$f*U2sdjJ3c literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_pumpkin_chunks.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_pumpkin_chunks.png new file mode 100644 index 0000000000000000000000000000000000000000..08be23af3cb1381d05a52ce503c03db05988f6f1 GIT binary patch literal 454 zcmV;%0XhDOP)LlfP=hP!z_0H*_s@$epqT1jWTo5L}9#+@ynxgU_HK z6dyp`9Qp)Vo!qiz%j6U2P+TrjZcr&sil)=OB#qKSzbXIDcYfbFHzG|_{-XzTalKx1 zFM=S*I*We4Unq7Q2Vn@Z20;)2q}6H_-}ec_5P;oo2OtK6!LJ6X>$>({N{R3LY&IL> zI0is#&2%~y&b@3>N~Dzb1&furC)&)a=Fbr9(R&+WYanm4&9}NN6 z9?tOkPLd>rMt36^Z4YMvj>jWl2gzcwxNlIe*C86(;?J)$Ns{2YE?R4(l;S4AY&J{V z?RKuS(dBXhKq+-Uf*IUsG_uds{>0Ps8>Lbyx5CL}ayx=4R{Ilbf3n@BlqjX>cDo`= zVYe_IkJCz}Vlh7+UnrN$IF3W3(Xe!eqF|tuviUsE17N*g15m5g>^V?MnWLUJ@H|f# wf+&jYkJM_lh~wDe&*$?$5!f|l%?w3W-=pomc7pSj3IG5A07*qoM6N<$f_N~-GXMYp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_raspberry.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_raspberry.png new file mode 100644 index 0000000000000000000000000000000000000000..057e14fd53b9c81605e432b325eabd02cd3cabd6 GIT binary patch literal 454 zcmV;%0XhDOP)LlOb=yKp2LfYnC8pduBCFNFW#-2?-8|At(%jgnxj* zV3!aazoC{OaCNvUegP;1w=B5^L9j<>c9*i!Y{_1AZSQ;UdB5)}vMl32da;Z9{r>PF zilV%;7>~z=V$bssmLP8sMG-*OXfz1JkT{M3xLhs(Vmh7vYLNN9@1CWUgki|(bRtO- z0JPRDmrLQ5Ws_1OrF5J3`#oA~Mxzm(PN&#|pVC?v3<2Ue=5RPL7!1TygFJp^vH{@3 zTp^l}rfK1z(g;=`<_f^=b^}}^*>1Px2CY_$%4Fk;KkqlvG{yIQwAM%|#Z!XSYL)eR zy@!*nj4=QxrOG4N#?59k_wH=2yuSCTR;v#qTr3vPBiQ1zxpMxdFvcLIL@C8^I23sb zH--6pp4IDhhk59~QLEMPJdbv}?dU8;!9XeH@&!Qv!0~tlpxJD?d!UrESN+i-2m)aV wcDtSXk-FV3Ns>7H^?Lm$0yn0-nWf0<3)NV@q^<9A@c;k-07*qoM6N<$f`s46*8l(j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_red_apple.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_red_apple.png new file mode 100644 index 0000000000000000000000000000000000000000..2f9f07894c03c6cc2c188918c554abf7f508d401 GIT binary patch literal 455 zcmV;&0XY7NP)Llc8_IKop0+YbKUpd#a`h2?T>9A;By-rcf9J5{;-q zO%WXX2PSG!xH?=FehDZ9mn^vkg@Tn%EO#j@&6ez^u6Or-?|biEMV4j!M-OIkyaDVHg5rjYb3C_lcqifaCE9ASRQ^uLhaxy7pU2iSPUD_j}?v z20&}gd_EUWS#45Eq?GpZX0t(S&2TuR)9Dm@@Kajrf+0W@MQpcQ`u)DRYmmpUi~|7F z=LOzgNs^?HsI&wl^?3o{bUFdHk*rp$a)VZ@MP(e=;E(h|k|emUi`E(`rMOG5SS+$$ zuXmH#C{5GveWl7vFpUd>!0sK=GmkF;)oS%-gtOV~ehDV{ke)fDXPaG0iBgKeU?B1o zb_&z!G^^L^7W4i2iCV3O<2bb2ZA)h;3I<9kTc7870PJ=<0GiFFeFsV@^VDw*JkJw` xV7*@3AF12z634N{UoMw_BCuo1n;D9{z5pCazU+($Z_@w(002ovPDHLkV1i(l!fXHl literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_red_grapes.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_red_grapes.png new file mode 100644 index 0000000000000000000000000000000000000000..bb4890be951b0a1fc64cce588e6d28e8e2440102 GIT binary patch literal 449 zcmV;y0Y3hTP)LlOb=yKp2Lf>-H0Rs-_7U1cM_Z!C@903NZwKVF(OA zfZ+H6s9F@R4p-G*0IKHHHO&Ofl}?bmv@6Y)>{WMZzxST^`|dLldo>VP!z_0m&`45y=+NM7es>?QzRrf91ev+@C*nH z4?u7{LoEtdhpXZVKw&OWZbK%>9CTv2H|v*0=7={3x&u0KJ8jXGhq>kg*dnqNJ=ds)Eh@uDp ztu?dROjOFUNhy(1+K<=kHCk&1g8}V!yEucN(pndQ0AU!i*=*?bdg3l1Ykwbqe#1^j z-rpcel0u`>2-eBz2*BlX0qh`IE|=wiX0ypY{Lld+1zKoEw%4cA|jtgQc zu2eR0zdzPWsb&kNabXzRJ$21_4I^5uR%L`y6g{_KlGQawU2|JqN{Ld6$z&qR6m|-W z#iHnRIu`TuEuh_Q<2Vk3!NAfPikg5@%KGy>4}inr06?$Tv-dzLWv+Tv!1Fv|2)5g; teMqCxh%`+t{(8Os6M-F5SLld+1zKomvKg#Cm}6&3=5Vq+%=vc=ljS=m_l4Z_NT zA0T$Z{y|zRyL5J``~cC)W-FX! zilU;k7!HS}V$bssmY`@5MG-(=uh$8~kT{M3NYfNRj7Fnh4RYW2-Mf^MFbvu6_asRI zfYzGXY$m)%*`$<6Dc#5G^%|`;gTa7yyIr2aPid`7h5&IKv)yj#^?Ks2K@oqGz5!s4 zXI}Wg7*lHWFoKmio&h+WPJkOE%jNR1L9^LplfJp)Pm^Jc!S{W%)<`MEU4r?1o_D+5 zo6c63%LM?X)Z++taO3g#JHjEO@%&DuQn^{-bUM8s!4{iChB;)eyOa{86#af*6e-*m zCX-2CtJNH4reCR6t9YJAtJQLJmZD^!lydokAOK*u+X2vMG~7K4PKP8(9R6al_!EI!Q_;*)6!itVBEekPVSIrA0000bIjoY literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/freeze_dried_wintergreen_berry.png b/kubejs/assets/tfg/textures/item/food/freeze_dried_wintergreen_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..453481302f5279a9f208bf6dd78e9dc01e6f33d2 GIT binary patch literal 458 zcmV;*0X6=KP)R5*>LlQC<;KorM+7djMNb4#-X1jWTokh;0K6ekx4pbNhy(1+RLle3avHWZkI-*k?+AzX{~dH0AU!iUax7l+v2K07QZl> z1E7)*czq_0<6NSfB^asX1Ayc42-rrlSS)TE)M_;fqqz-!|2z`MF|O;PwMI%Qt`bbA z)3nuUU1T;oolf8TO5HBOG;S~$*u7nH;Qr-_VzGEJ!tr=~y#y1yOAhRkgUv3bL@7n5 z(-Bz;JB8tJn3l_Bi~08WK&e#1aUAOPx}`G|IRmAXt literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/meal_bag.png b/kubejs/assets/tfg/textures/item/food/meal_bag.png new file mode 100644 index 0000000000000000000000000000000000000000..52d0615ead4d4a25fccad377ccac98142bcc1e72 GIT binary patch literal 491 zcmVJNR5*>Lld(%%Q5431PqK)EOCAbYDinesf8f^n66>+mWn?Lvr`im zgbz_RwkrUfdVT?5Z1`;`(Q^b`9PQFGcmlxh8_mYHQ)uN5j%xoVNF)-d^G!ai)#x5c z@#l7##zmF2zwarR%M6WwvRYX43PBJM1c9W}X#lRjtpL#YwU3l`INz!hjYiR0GdnfW zslfMr6I`AD$mGx{k^TW1#}!V!8)_*BrBsL7jy=d`vjBKoKWQ9SOx(6@wAOIH2ca{N zcsve(tKZ>9AoG3wA)E3EGee-YZgn6Qivh4q3V=)|gKgU{6SPayTANi(CX*Q+4*a?;<2VJ>RSMlL#RIu;1@F z)Ox*6x8ZRW0N#5Riv>?l6f>L6I+vAF08~{KS_r_Cqqd2pl+<+{lu|h7aLygo^a2jL zi`8nyX0t(Sjg&Hd&M`nK70R+aJQe^&QAEgKFbJm{h{t#KLRxw60se*9s;a6WrKBv& zaQ5?_+p7z>x)AT@cTA^Kv0N@Y@RK1r=XmvL#`8Bf0O8x04`Du^2Y@WgM3!aZBtUD8 z)|%~h3&8IeFL`)&8K+>3!5GtZ;JwFtA10Ft@Hep5Nz*i(zkUmVwYJkNW{}RfC<^jC zM@mW4H2nJUozc6Gv1@>L42Q%215#_&+BoYx&oRdI+CK!OiiNw~uJ2by{Q;1qr0SEfx?cbQ002ovPDHLk FV1hv#%_IN- literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index 11aea9140..bb3064ca6 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -215,4 +215,25 @@ function registerGTCEURecyclingRecipes(event) { .duration(1792) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) + + // Clean Foil pack + event.recipes.gtceu.macerator('gtceu:macerator/recycling/clean_foil_pack') + .itemInputs('tfg:clean_foil_pack') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Aluminium, 1), + ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Polyethylene, 1) + ) + .duration(GTMaterials.Aluminium.getMass() * 1) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/clean_foil_pack') + .itemInputs('tfg:clean_foil_pack') + .itemOutputs( + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 2), + ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 1) + ) + .duration(GTMaterials.Aluminium.getMass() * 1) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 112706c76..a46993c62 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -82,6 +82,10 @@ const registerTFCItemTags = (event) => { // Make eggs not useless event.add('tfc:foods/usable_in_salad', 'tfc:food/cooked_egg') event.add('tfc:foods/usable_in_salad', 'tfc:food/boiled_egg') + event.add('tfc:foods/usable_in_jam_sandwich', 'tfc:food/cooked_egg') + event.add('tfc:foods/usable_in_jam_sandwich', 'tfc:food/boiled_egg') + event.add('tfc:foods/usable_in_sandwich', 'tfc:food/cooked_egg') + event.add('tfc:foods/usable_in_sandwich', 'tfc:food/boiled_egg') // Чтобы жарились бревна из TFC в пиролиз. печке // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 6a42f8f1e..ebac871f4 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -102,4 +102,24 @@ const registerTFGFoodData = (event) => { food.protein(2.4) food.decayModifier(2.25) }) + + global.FOOD_FRUIT.forEach(fruit => { + event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, food => { + food.hunger(4) + food.saturation(fruit.saturation) + food.water(0) + food.fruit(fruit.fruit) + food.decayModifier(fruit.decay) + }) + }) + + event.foodItem('tfg:food/calorie_paste', food => { + food.hunger(6) + food.saturation(4) + food.decayModifier(4.5) + }) + + event.foodItem('tfg:food/meal_bag', food => { + food.type('dynamic') + }) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index b928b0944..7491e9b25 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -116,6 +116,7 @@ function registerTFGFoodRecipes(event) { // Raw crop to grain processorRecipe(`${grain}_grain`, 100, 8, { + circuit: 30, itemInputs: [`tfc:food/${grain}`], itemOutputs: [`tfc:food/${grain}_grain`], itemOutputProvider: TFC.isp.of(`tfc:food/${grain}_grain`).copyOldestFood() @@ -123,6 +124,7 @@ function registerTFGFoodRecipes(event) { // Grain to flour processorRecipe(`${grain}_flour`, 100, 8, { + circuit: 31, itemInputs: [`tfc:food/${grain}_grain`], itemOutputs: [`2x tfc:food/${grain}_flour`], itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_flour`).copyOldestFood() @@ -171,9 +173,10 @@ function registerTFGFoodRecipes(event) { }) //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, { + //1 Jam + processorRecipe(`${grain}_${type[0]}_jam_sandwich_1`, 100, 16, { circuit: 4, - itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich'], + itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich_2'], 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)), [ @@ -181,6 +184,30 @@ function registerTFGFoodRecipes(event) { (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), ]), }) + + //2 Jam + processorRecipe(`${grain}_${type[0]}_jam_sandwich_2`, 100, 16, { + circuit: 4, + itemInputs: [`2x ${type[1]}`, '2x #tfc:foods/preserves', '1x #tfc:foods/usable_in_jam_sandwich_2'], + itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, '2x 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), + ]), + }) + + //3 Jam + processorRecipe(`${grain}_${type[0]}_jam_sandwich_3`, 100, 16, { + circuit: 4, + itemInputs: [`2x ${type[1]}`, '3x #tfc:foods/preserves'], + itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, '3x 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), + ]), + }) }) @@ -344,6 +371,73 @@ function registerTFGFoodRecipes(event) { }) }) + global.FOOD_FRUIT.forEach(fruit => { + processorRecipeText(`${fruit.name}/drying`, 100, 120, "tfg.food_recipe.freeze_drying", { + circuit: 7, + itemInputs: [fruit.id, 'tfg:foil_pack', 'tfg:dry_ice'], + itemOutputs: [`tfg:food/freeze_dried/${fruit.name}`], + itemOutputProvider: TFC.isp.of(`tfg:food/freeze_dried/${fruit.name}`).copyOldestFood().removeTrait('firmalife:dried').addTrait('tfg:freeze_dried') + }) + }) + + //#endregion + + //#region Meal Bags + //1 Input + processorRecipeText('meal_bag/1', 100, 120, "tfg.food_recipe.freeze_drying", { + circuit: 10, + itemInputs: ['1x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], + itemOutputs: ['2x tfg:food/meal_bag'], + itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( + (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + ]).addTrait('tfg:freeze_dried') + }) + + //2 Input + processorRecipeText('meal_bag/2', 100, 120, "tfg.food_recipe.freeze_drying", { + circuit: 11, + itemInputs: ['2x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], + itemOutputs: ['2x tfg:food/meal_bag'], + itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( + (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + ]).addTrait('tfg:freeze_dried') + }) + + //3 Input + processorRecipeText('meal_bag/3', 100, 120, "tfg.food_recipe.freeze_drying", { + circuit: 12, + itemInputs: ['3x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], + itemOutputs: ['2x tfg:food/meal_bag'], + itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( + (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + ]).addTrait('tfg:freeze_dried') + }) + + //4 Input + processorRecipeText('meal_bag/4', 100, 120, "tfg.food_recipe.freeze_drying", { + circuit: 13, + itemInputs: ['4x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], + itemOutputs: ['2x tfg:food/meal_bag'], + itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( + (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + ]).addTrait('tfg:freeze_dried') + }) + + //5 Input + processorRecipeText('meal_bag/5', 100, 120, "tfg.food_recipe.freeze_drying", { + circuit: 14, + itemInputs: ['5x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], + itemOutputs: ['2x tfg:food/meal_bag'], + itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( + (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + ]).addTrait('tfg:freeze_dried') + }) + //#endregion //#region ================= Misc ================= @@ -414,6 +508,14 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['firmalife:food/soybean_paste'], itemOutputProvider: TFC.isp.of('firmalife:food/soybean_paste').copyOldestFood(), }) + + processorRecipeText('calorie_paste', 100, 512, "tfg.food_recipe.freeze_drying", { + circuit: 8, + itemInputs: ['firmalife:food/soybean_paste', 'tfg:foil_pack'], + itemOutputs: ['tfg:food/calorie_paste'], + fluidInputs: [Fluid.of('gtceu:fermented_biomass', 40)], + itemOutputProvider: TFC.isp.of('tfg:food/calorie_paste').copyOldestFood().addTrait('tfg:freeze_dried'), + }) // Vinegar global.TFC_ALCOHOL.forEach(alcohol => { diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index a56d31f7c..d0253d333 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -424,4 +424,69 @@ function registerTFGMiscellaneousRecipes(event) { .duration(40) .circuit(4) .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.forming_press('tfg:forming_press/foil_pack') + .itemInputs(ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 1), ChemicalHelper.get(TagPrefix.foil, GTMaterials.Polyethylene, 1)) + .itemOutputs('1x tfg:foil_pack') + .duration(100) + .circuit(4) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.compressor('tfg:compressor/dry_ice') + .inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) + .itemOutputs('10x tfg:dry_ice') + .duration(100) + .circuit(4) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/decompress_dry_ice') + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100)) + .itemInputs('1x tfg:dry_ice') + .duration(20) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.ore_washer('tfg:ore_washer/clean_foil_pack') + .itemInputs('1x tfg:used_foil_pack') + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs('1x tfg:clean_foil_pack') + .duration(200) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.ore_washer('tfg:ore_washer/distilled/clean_foil_pack') + .itemInputs('1x tfg:used_foil_pack') + .inputFluids(Fluid.of('gtceu:distilled_water', 10)) + .itemOutputs('1x tfg:clean_foil_pack') + .duration(200) + .circuit(2) + .EUt(GTValues.VA[GTValues.ULV]) + + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + {item: 'tfg:used_foil_pack'}], + result: {item: 'tfg:clean_foil_pack'} + }).id('tfg:ae_transform/clean_foil_pack') + + event.recipes.greate.splashing(['tfg:clean_foil_pack'], 'tfg:used_foil_pack') + .id('tfg:splashing/clean_foil_pack') + + event.shapeless('1x tfg:used_foil_pack', [ + 'tfg:food/calorie_paste' + ]).id('tfg:shapeless/emptying/calorie_paste') + + event.shapeless('1x tfg:used_foil_pack', [ + 'tfg:food/meal_bag' + ]).id('tfg:shapeless/emptying/meal_bag') + + global.FOOD_FRUIT.forEach(fruit => { + event.shapeless('1x tfg:used_foil_pack', [ + `tfg:food/freeze_dried/${fruit.name}` + ]).id(`tfg:shapeless/emptying/freeze_dried/${fruit.name}`) + }) } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index a65ac51dd..020464b04 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -141,7 +141,7 @@ const registerTFGItemTags = (event) => { event.add('forge:double_iron_ingots', '#forge:double_ingots/iron') event.add('forge:double_iron_ingots', '#forge:double_ingots/wrought_iron') - // Food + //#region Food const RAW_MEATS = [ 'tfg:food/raw_birt', 'tfg:food/raw_crawlermari', @@ -164,6 +164,26 @@ const registerTFGItemTags = (event) => { event.add('tfc:foods/cooked_meats', meat) }) + //jam sandwhich stuff + const usable_in_jam_sandwich = Ingredient.of('#tfc:foods/usable_in_jam_sandwich').itemIds.toArray().map(String); + const preserves = Ingredient.of('#tfc:foods/preserves').itemIds.toArray().map(String); + + const usable_in_jam_sandwich_2 = usable_in_jam_sandwich.filter(item => !preserves.includes(item)); + + usable_in_jam_sandwich_2.forEach(item => { + event.add('tfc:foods/usable_in_jam_sandwich_2', item); + }); + + //meal bags + event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/meats'); + event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/grains'); + event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/vegetables'); + event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/fruits'); + event.add('tfg:foods/usable_in_meal_bag', '#tfc:foods/dairy'); + event.add('tfg:foods/usable_in_meal_bag', 'tfc:food/cooked_egg'); + event.add('tfg:foods/usable_in_meal_bag', 'tfc:food/boiled_egg'); + //#endregion + // #region 0.7.19 -> 0.9 conversion event.add('c:hidden_from_recipe_viewers', 'treetap:tap') event.add('c:hidden_from_recipe_viewers', 'tfcea:refrigerator') diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 38f06e40c..1d7c77af7 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -87,6 +87,9 @@ GTCEuStartupEvents.registry('gtceu:dimension_marker', event => { registerTFGDimensionMarkers(event) }) +TFCEvents.registerFoodTrait(event => { + registerTFGFoodTraits(event) +}) Platform.mods.kaolinclayze.name = "Primitive Creatures"; Platform.mods.tfg.name = "TerraFirmaGreg"; diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 8bed935af..05e2bf04d 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -68,4 +68,36 @@ global.MARS_BIOMES = [ 'tfg:mars/martian_mountains' ] -global.UNIVERSAL_CIRCUIT_TIERS = ["ulv", "lv", "mv", "hv", "ev", "iv", "luv", "zpm", "uv", "uhv"]; \ No newline at end of file +global.UNIVERSAL_CIRCUIT_TIERS = ["ulv", "lv", "mv", "hv", "ev", "iv", "luv", "zpm", "uv", "uhv"]; + +global.FOOD_FRUIT = [ + {name: 'red_grapes', id: 'firmalife:food/red_grapes', saturation: 0.4, water: 2, fruit: 0.5, decay: 2.25}, + {name: 'white_grapes', id: 'firmalife:food/white_grapes', saturation: 0.4, water: 2, fruit: 0.5, decay: 2.25}, + {name: 'glow_berries', id: 'minecraft:glow_berries', saturation: 0, water: 5, fruit: 0.5, decay: 2.25}, + {name: 'chorus_fruit', id: 'minecraft:chorus_fruit', saturation: 0, water: 5, fruit: 2, decay: 1.2}, + {name: 'popped_chorus_fruit', id: 'minecraft:popped_chorus_fruit', saturation: 1, water: 0, fruit: 3, decay: 0.8}, + {name: 'blackberry', id: 'tfc:food/blackberry', saturation: 0.2, water: 5, fruit: 0.8, decay: 4.5}, + {name: 'blueberry', id: 'tfc:food/blueberry', saturation: 0.2, water: 5, fruit: 0.8, decay: 4.5}, + {name: 'bunchberry', id: 'tfc:food/bunchberry', saturation: 0.4, water: 5, fruit: 0.8, decay: 4.5}, + {name: 'cloudberry', id: 'tfc:food/cloudberry', saturation: 0.4, water: 5, fruit: 0.8, decay: 4.5}, + {name: 'cranberry', id: 'tfc:food/cranberry', saturation: 0.2, water: 5, fruit: 1, decay: 2.25}, + {name: 'elderberry', id: 'tfc:food/elderberry', saturation: 0.2, water: 5, fruit: 1, decay: 4.5}, + {name: 'gooseberry', id: 'tfc:food/gooseberry', saturation: 0.4, water: 5, fruit: 0.8, decay: 4.5}, + {name: 'raspberry', id: 'tfc:food/raspberry', saturation: 0.4, water: 5, fruit: 0.8, decay: 4.5}, + {name: 'snowberry', id: 'tfc:food/snowberry', saturation: 0.2, water: 5, fruit: 1, decay: 4.5}, + {name: 'strawberry', id: 'tfc:food/strawberry', saturation: 0.4, water: 10, fruit: 0.5, decay: 4.5}, + {name: 'wintergreen_berry', id: 'tfc:food/wintergreen_berry', saturation: 0.2, water: 5, fruit: 1, decay: 2.1}, + {name: 'banana', id: 'tfc:food/banana', saturation: 0.2, water: 0, fruit: 1, decay: 2.25}, + {name: 'cherry', id: 'tfc:food/cherry', saturation: 0.2, water: 5, fruit: 1, decay: 3.5}, + {name: 'green_apple', id: 'tfc:food/green_apple', saturation: 0.4, water: 0, fruit: 1, decay: 2.5}, + {name: 'lemon', id: 'tfc:food/lemon', saturation: 0.2, water: 5, fruit: 0.08, decay: 2.25}, + {name: 'olive', id: 'tfc:food/olive', saturation: 0.2, water: 0, fruit: 1, decay: 2.25}, + {name: 'orange', id: 'tfc:food/orange', saturation: 0.4, water: 10, fruit: 0.5, decay: 2.25}, + {name: 'peach', id: 'tfc:food/peach', saturation: 0.4, water: 10, fruit: 0.5, decay: 2.5}, + {name: 'plum', id: 'tfc:food/plum', saturation: 0.4, water: 5, fruit: 0.8, decay: 2.25}, + {name: 'red_apple', id: 'tfc:food/red_apple', saturation: 0.4, water: 0, fruit: 1, decay: 2.25}, + {name: 'pumpkin_chunks', id: 'tfc:food/pumpkin_chunks', saturation: 1, water: 5, fruit: 0.8, decay: 2.25}, + {name: 'melon_slice', id: 'tfc:food/melon_slice', saturation: 0.2, water: 5, fruit: 0.8, decay: 2.25}, + {name: 'fig', id: 'firmalife:food/fig', saturation: 1, water: 5, fruit: 0.9, decay: 1}, + {name: 'pineapple', id: 'firmalife:food/pineapple', saturation: 1, water: 1, fruit: 0.8, decay: 4.5} +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/events.food_traits.js b/kubejs/startup_scripts/tfg/events.food_traits.js new file mode 100644 index 000000000..3a0f8432d --- /dev/null +++ b/kubejs/startup_scripts/tfg/events.food_traits.js @@ -0,0 +1,5 @@ +function registerTFGFoodTraits(event) { + + event.registerTraitWithTooltip(0.02, 'tfg:freeze_dried') + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index d573c1982..1078c4322 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -4,7 +4,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/raw_birt') .translationKey('item.tfg.food.raw_birt') - .food(food => food.hunger(2).saturation(2) + .food(food => food.hunger(2).saturation(1) .effect('species:birtd', 50, 0, 1) .eaten(ctx => { ctx.player.level.runCommandSilent(`playsound species:effect.birtd.applied player ${ctx.player.username} ${ctx.player.x} ${ctx.player.y} ${ctx.player.z} 1 1`) @@ -12,21 +12,54 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_birt') .translationKey('item.tfg.food.cooked_birt') - .food(food => food.hunger(6).saturation(6)) + .food(food => food.hunger(4).saturation(2)) event.create('tfg:food/raw_limpet') .translationKey('item.tfg.food.raw_limpet') - .food(food => food.hunger(2).saturation(2)) + .food(food => food.hunger(2).saturation(1)) event.create('tfg:food/cooked_limpet') .translationKey('item.tfg.food.cooked_limpet') - .food(food => food.hunger(6).saturation(6)) + .food(food => food.hunger(4).saturation(2)) event.create('tfg:food/raw_crawlermari') .translationKey('item.tfg.food.raw_crawlermari') - .food(food => food.hunger(2).saturation(2)) + .food(food => food.hunger(2).saturation(1)) event.create('tfg:food/cooked_crawlermari') .translationKey('item.tfg.food.cooked_crawlermari') - .food(food => food.hunger(6).saturation(6)) + .food(food => food.hunger(4).saturation(2)) + + global.FOOD_FRUIT.forEach(fruit => { + event.create(`tfg:food/freeze_dried/${fruit.name}`) + .translationKey(`item.tfg.food.freeze_dried/${fruit.name}`) + .texture(`tfg:item/food/freeze_dried_${fruit.name}`) + .food(food => food.hunger(4).saturation(1) + .eaten(ctx => { + ctx.player.give('tfg:used_foil_pack') + })) + }) + + event.create('tfg:food/calorie_paste') + .translationKey('item.tfg.food.calorie_paste') + .food(food => food.hunger(8).saturation(5) + .eaten(ctx => { + ctx.player.give('tfg:used_foil_pack') + })) + .texture('tfg:item/food/calorie_paste') + + event.create('tfg:used_foil_pack') + .translationKey('item.tfg.food.used_foil_pack') + .food(food => food.hunger(0).saturation(0) + .effect('minecraft:nausea', 200, 0, 1) + ) + .texture('tfg:item/used_foil_pack') + + event.create('tfg:food/meal_bag') + .translationKey('item.tfg.food.meal_bag') + .food(food => food.hunger(6).saturation(3) + .eaten(ctx => { + ctx.player.give('tfg:used_foil_pack') + })) + .texture('tfg:item/food/meal_bag') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 0081e7bca..8af8baea1 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -147,12 +147,24 @@ const registerTFGItems = (event) => { .tooltip(`§9Instant Health II`) //#endregion - //#region Wax + //#region Misc event.create('tfg:paraffin_wax') .translationKey('item.tfg.paraffin_wax') event.create('tfg:conifer_rosin') .translationKey('item.tfg.conifer_rosin') + + event.create('tfg:foil_pack') + .translationKey('item.tfg.foil_pack') + .texture('tfg:item/foil_pack') + + event.create('tfg:clean_foil_pack') + .translationKey('item.tfg.clean_foil_pack') + .texture('tfg:item/clean_foil_pack') + + event.create('tfg:dry_ice') + .translationKey('item.tfg.dry_ice') + .texture('tfg:item/dry_ice') //#endregion //#region Cloth & String