From 9817c63921fdfe81696a194844e253cf905611a9 Mon Sep 17 00:00:00 2001 From: Rubenwardy Date: Sat, 1 Sep 2012 18:07:06 +0100 Subject: [PATCH] Added Oven, Meats, Sandwiches and Carrot Cake --- baking.lua | 3 +- cakes.lua | 33 ++++- init.lua | 16 ++- meats.lua | 25 ++++ oven.lua | 197 ++++++++++++++++++++++++++ sandwich.lua | 8 +- support.lua | 18 +++ textures/animalmaterials_meat_raw.png | Bin 0 -> 426 bytes textures/food_bread_slice.png | Bin 0 -> 519 bytes textures/food_burger.png | Bin 0 -> 501 bytes textures/food_cake_carrot.png | Bin 0 -> 782 bytes textures/food_meat.png | Bin 0 -> 624 bytes textures/food_oven_bottom.png | Bin 0 -> 731 bytes textures/food_oven_front.png | Bin 0 -> 250 bytes textures/food_oven_front_active.png | Bin 0 -> 293 bytes textures/food_oven_side.png | Bin 0 -> 731 bytes textures/food_oven_top.png | Bin 0 -> 731 bytes textures/food_pastry_carrot.png | Bin 0 -> 846 bytes textures/food_sugar.png | Bin 0 -> 4425 bytes textures/food_sw_meat.png | Bin 0 -> 549 bytes 20 files changed, 293 insertions(+), 7 deletions(-) create mode 100644 meats.lua create mode 100644 oven.lua create mode 100644 textures/animalmaterials_meat_raw.png create mode 100644 textures/food_bread_slice.png create mode 100644 textures/food_burger.png create mode 100644 textures/food_cake_carrot.png create mode 100644 textures/food_meat.png create mode 100644 textures/food_oven_bottom.png create mode 100644 textures/food_oven_front.png create mode 100644 textures/food_oven_front_active.png create mode 100644 textures/food_oven_side.png create mode 100644 textures/food_oven_top.png create mode 100644 textures/food_pastry_carrot.png create mode 100644 textures/food_sugar.png create mode 100644 textures/food_sw_meat.png diff --git a/baking.lua b/baking.lua index d0c6aea..850c28e 100644 --- a/baking.lua +++ b/baking.lua @@ -24,10 +24,11 @@ minetest.register_craftitem("food:crumble_rhubarb_raw", { minetest.register_craft({ output = '"food:crumble_rhubarb_raw" 1', recipe = { + {'"food:sugar"',"",""}, {'"food:flour"','"food:rhubarb"','"food:butter"'} } }) - + minetest.register_craft({ type = "cooking", output = "food:crumble_rhubarb", diff --git a/cakes.lua b/cakes.lua index 94a9d34..e06cd0f 100644 --- a/cakes.lua +++ b/cakes.lua @@ -13,26 +13,38 @@ print("RubenFood [Master] - Loading Cakes") --------------------------Cakes------------------------- minetest.register_craftitem("food:cakemix_plain",{ description = "Cake Mix", - tiles = {"food_pastry.png"}, inventory_image = "food_pastry.png", }) minetest.register_craftitem("food:cakemix_choco",{ description = "Chocolate Cake Mix", - tiles = {"food_pastry_choco.png"}, inventory_image = "food_pastry_choco.png", }) +minetest.register_craftitem("food:cakemix_carrot",{ + description = "Carrot Cake Mix", + inventory_image = "food_pastry_carrot.png", +}) + minetest.register_craft({ type = "cooking", output = "food:cake", recipe = "food:cakemix_plain", + cooktime = 10, }) minetest.register_craft({ type = "cooking", output = "food:cake_chocolate", recipe = "food:cakemix_choco", + cooktime = 10, +}) + +minetest.register_craft({ + type = "cooking", + output = "food:cake_carrot", + recipe = "food:cakemix_carrot", + cooktime = 10, }) minetest.register_craftitem("food:cake", { @@ -47,6 +59,12 @@ minetest.register_craftitem("food:cake_chocolate", { on_use = minetest.item_eat(40), }) +minetest.register_craftitem("food:cake_carrot", { + description = "Carrot Cake", + inventory_image = "food_cake_carrot.png", + on_use = minetest.item_eat(40), +}) + @@ -57,13 +75,20 @@ minetest.register_craftitem("food:cake_chocolate", { minetest.register_craft({ output = '"food:cakemix_plain" 1', recipe = { - {'"food:flour"',"",'"food:egg"'}, + {'"food:flour"','"food:sugar"','"food:egg"'}, } }) minetest.register_craft({ output = '"food:cakemix_choco" 1', recipe = { - {'""','"default:dirt"','""'}, {'"food:flour"',"",'"food:egg"'}, + {'""','"default:dirt"','""'}, {'"food:flour"','"food:sugar"','"food:egg"'}, + } +}) + +minetest.register_craft({ + output = '"food:cakemix_carrot" 1', + recipe = { + {'""','"food:carrot"','""'}, {'"food:flour"','"food:sugar"','"food:egg"'}, } }) \ No newline at end of file diff --git a/init.lua b/init.lua index a01a7e0..565a33b 100644 --- a/init.lua +++ b/init.lua @@ -14,7 +14,10 @@ print ("food: Loading mainframe: [Master]") ----------------------Load Files----------------------------- dofile(minetest.get_modpath("food").."/support.lua") +dofile(minetest.get_modpath("food").."/oven.lua") + dofile(minetest.get_modpath("food").."/dairy.lua") +dofile(minetest.get_modpath("food").."/meats.lua") dofile(minetest.get_modpath("food").."/sandwich.lua") dofile(minetest.get_modpath("food").."/baking.lua") @@ -22,7 +25,6 @@ dofile(minetest.get_modpath("food").."/cakes.lua") dofile(minetest.get_modpath("food").."/tarts.lua") dofile(minetest.get_modpath("food").."/drinks.lua") ---dofile(minetest.get_modpath("food").."/fruits.lua") @@ -42,6 +44,18 @@ minetest.register_craft({ } }) +-----------------------------Sugar------------------------------ +minetest.register_craftitem("food:sugar", { + description = "Sugar", + inventory_image = "food_sugar.png", +}) +minetest.register_craft({ + output = '"food:sugar" 20', + recipe = { + {'"default:papyrus"'}, + + } +}) ----------------------------Cigerete---------------------------- minetest.register_node(":food:cigarette", { diff --git a/meats.lua b/meats.lua new file mode 100644 index 0000000..091ba77 --- /dev/null +++ b/meats.lua @@ -0,0 +1,25 @@ +-- RUBENFOOD MOD +-- A mod written by rubenwardy that adds +-- food to the minetest game +-- ====================================== +-- >> rubenfood/meats.lua +-- adds meat products +-- ====================================== +-- [regis-food] Meat +-- ====================================== + +minetest.register_craftitem("food:meat", { + description = "Venison", + inventory_image = "food_meat.png", +}) + +minetest.register_craft({ + type = "cooking", + output = "food:meat", + recipe = "food:meat_raw", + cooktime = 20 +}) + + + + diff --git a/oven.lua b/oven.lua new file mode 100644 index 0000000..0d1a14b --- /dev/null +++ b/oven.lua @@ -0,0 +1,197 @@ +-- RUBENFOOD MOD +-- A mod written by rubenwardy that adds +-- food to the minetest game +-- ====================================== +-- >> rubenfood/diary.lua +-- adds diary products +-- ====================================== +-- [regis-furnace] Rings +-- [regis-furnace] Oven +-- ====================================== + +local oven_inactive_formspec = + "invsize[8,9;]".. + "image[2,2;1,1;default_furnace_fire_bg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]" + +minetest.register_node("food:oven", { + description = "Oven", + tiles = {"food_oven_top.png", "food_oven_bottom.png", "food_oven_side.png", + "food_oven_side.png", "food_oven_side.png", "food_oven_front.png"}, + paramtype2 = "facedir", + groups = {cracky=2}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", oven_inactive_formspec) + meta:set_string("infotext", "Oven") + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +minetest.register_node("food:oven_active", { + description = "Oven", + tiles = {"food_oven_top.png", "food_oven_bottom.png", "food_oven_side.png", + "food_oven_side.png", "food_oven_side.png", "food_oven_front_active.png"}, + paramtype2 = "facedir", + light_source = 8, + drop = "food:furnace", + groups = {cracky=2, not_in_creative_inventory=1}, + legacy_facedir_simple = true, + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("formspec", oven_inactive_formspec) + meta:set_string("infotext", "Oven"); + local inv = meta:get_inventory() + inv:set_size("fuel", 1) + inv:set_size("src", 1) + inv:set_size("dst", 4) + end, + can_dig = function(pos,player) + local meta = minetest.env:get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("fuel") then + return false + elseif not inv:is_empty("dst") then + return false + elseif not inv:is_empty("src") then + return false + end + return true + end, +}) + +function hacky_swap_node(pos,name) + local node = minetest.env:get_node(pos) + local meta = minetest.env:get_meta(pos) + local meta0 = meta:to_table() + if node.name == name then + return + end + node.name = name + local meta0 = meta:to_table() + minetest.env:set_node(pos,node) + meta = minetest.env:get_meta(pos) + meta:from_table(meta0) +end + +minetest.register_abm({ + nodenames = {"food:oven","food:oven_active"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local meta = minetest.env:get_meta(pos) + for i, name in ipairs({ + "fuel_totaltime", + "fuel_time", + "src_totaltime", + "src_time" + }) do + if meta:get_string(name) == "" then + meta:set_float(name, 0.0) + end + end + + local inv = meta:get_inventory() + + local srclist = inv:get_list("src") + local cooked = nil + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + + local was_active = false + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + was_active = true + meta:set_float("fuel_time", meta:get_float("fuel_time") + 1) + meta:set_float("src_time", meta:get_float("src_time") + 1) + if cooked and cooked.item and meta:get_float("src_time") >= cooked.time then + -- check if there's room for output in "dst" list + if inv:room_for_item("dst",cooked.item) then + -- Put result in "dst" list + inv:add_item("dst", cooked.item) + -- take stuff from "src" list + srcstack = inv:get_stack("src", 1) + srcstack:take_item() + inv:set_stack("src", 1, srcstack) + else + --print("Could not insert '"..cooked.item.."'") + end + meta:set_string("src_time", 0) + end + end + + if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then + local percent = math.floor(meta:get_float("fuel_time") / + meta:get_float("fuel_totaltime") * 100) + meta:set_string("infotext","Oven active: "..percent.."%") + hacky_swap_node(pos,"food:oven_active") + meta:set_string("formspec", + "invsize[8,9;]".. + "image[2,2;1,1;default_furnace_fire_bg.png^[lowpart:".. + (100-percent)..":default_furnace_fire_fg.png]".. + "list[current_name;fuel;2,3;1,1;]".. + "list[current_name;src;2,1;1,1;]".. + "list[current_name;dst;5,1;2,2;]".. + "list[current_player;main;0,5;8,4;]") + return + end + + local fuel = nil + local cooked = nil + local fuellist = inv:get_list("fuel") + local srclist = inv:get_list("src") + + if srclist then + cooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist}) + end + if fuellist then + fuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist}) + end + + if fuel.time <= 0 then + meta:set_string("infotext","Furnace out of fuel") + hacky_swap_node(pos,"food:oven") + meta:set_string("formspec", oven_inactive_formspec) + return + end + + if cooked.item:is_empty() then + if was_active then + meta:set_string("infotext","Oven is empty") + hacky_swap_node(pos,"food:oven") + meta:set_string("formspec", oven_inactive_formspec) + end + return + end + + meta:set_string("fuel_totaltime", fuel.time) + meta:set_string("fuel_time", 0) + + local stack = inv:get_stack("fuel", 1) + stack:take_item() + inv:set_stack("fuel", 1, stack) + end, +}) \ No newline at end of file diff --git a/sandwich.lua b/sandwich.lua index 08c4213..5355215 100644 --- a/sandwich.lua +++ b/sandwich.lua @@ -19,11 +19,17 @@ minetest.register_craftitem("food:sw_meat", { on_use = minetest.item_eat(10), }) +minetest.register_craftitem("food:burger", { + description = "Burger", + inventory_image = "food_burger.png", + on_use = minetest.item_eat(10), +}) + minetest.register_craft({ output = '"food:sw_meat" 1', recipe = { {"",'"food:bread_slice"',""}, - {"food:butter","",'"food:butter"'}, + {"food:butter","food:meat",'"food:butter"'}, {"",'"food:bread_slice"',""}, } }) diff --git a/support.lua b/support.lua index 6002142..cd5bdc3 100644 --- a/support.lua +++ b/support.lua @@ -39,6 +39,14 @@ minetest.register_craftitem("food:strawberry", { }) end) +node_implement("farming","farming:carrot_item","food:carrot",function() +minetest.register_craftitem("farming:carrot_item", { + description = "Carrot", + inventory_image = "farming_carrot.png", + on_use = minetest.item_eat(3), +}) +end) + node_implement("farming","farming:rhubarb_item","food:rhubarb",function() minetest.register_craftitem("food:rhubarb", { description = "Rhubarb", @@ -46,6 +54,16 @@ minetest.register_craftitem("food:rhubarb", { }) end) +node_implement("animalmaterials","animalmaterials:meat_raw","food:meat_raw",function() +minetest.register_craftitem("food:meat_raw", { + description = "Raw meat", + image = "animalmaterials_meat_raw.png", + on_use = minetest.item_eat(1), + groups = { meat=1, eatable=1 }, + stack_max=25 +}) +end) + node_implement("farming","farming:bread","food:bread",function() diff --git a/textures/animalmaterials_meat_raw.png b/textures/animalmaterials_meat_raw.png new file mode 100644 index 0000000000000000000000000000000000000000..0dea4ec5404cccc8820d90a5d3e1513b150d6056 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6U4S$Y z{B+)352QE?JR*x37`TN&n2}-D90{Nxdx@v7EBkF8NoF4Dim2{~Kq1Kz*N775{M_8s zyb=cIqSVBa)D(sC%#sWRcTeAd@J2pypjE7%E{-7kqh6PFiLxlUdNbJa48$*Oi5{r(a(v5$LiYP)9NG@bmxw?^k=dL`2Um z7D`(3L9XHYs-Ty*(|Bvn7jqg0W$_-^y6)wi$>%H?Ph7j=z4qj}=kXQ0mwuQRa9!ly zV+NO$Z<%YS9+UWKBa`yyo`mvtfhC4+QQ4}|!Ou&Sj&L~ayU+aLqIF^D(kn57*3X|* zZ-2bB{l4CGMxU(=1+mM;WL2Inv0!UI8}o0kIGf3TAIE5{BIN89Ry&ac@UkDfQywAE(< Ph8lyXtDnm{r-UW|E48P= literal 0 HcmV?d00001 diff --git a/textures/food_bread_slice.png b/textures/food_bread_slice.png new file mode 100644 index 0000000000000000000000000000000000000000..6ada224c10022e6a13895fc45210c1aec49427dd GIT binary patch literal 519 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{EBBx8l2c^7vw~ zkZVMVV`)i7ei6gUb!R+)LR=+4A?N&p%A(Blj1q=5{Aa9yqI_V{qSVBa%=|oslFZyx z2Gj5SoIn{)kW6rXT1k0gQ7S`h!GDl)Zjhi$W^r;(B2Z}&!}bGP`hmh6AmQ-DqP)z! zbcO@c&)R`v>=6B>MaiiQU;j71hADH-&&^HED`EI{X4-zB7#m1gNM=b+D#MC*m(+nG zlRRA?T6wqgJP literal 0 HcmV?d00001 diff --git a/textures/food_burger.png b/textures/food_burger.png new file mode 100644 index 0000000000000000000000000000000000000000..80365413d9b438e0f38435a6adc55a1a9036b1c7 GIT binary patch literal 501 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{E8w;NiS_THOLH ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*ZMQpOTr?{;>iVny|9{uSD!l|C zFj!Nhbc@xXL9pY^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{E8wFwmSER>uz( za*Zf)EG@~%FJf4^?u-Xeh^quB|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5bSvydS9iqRqC^?nk>;LB0FlEm9xw)x%B@ExrOxq6>V*@D*$t=l9WmxgFSZ)e_}*lfVV=BpOEw83PO)Vi+Kjc!2e3Ob$~AW(HpD*tk(m$ zE^=-VvF&~3zR4!;S2~MP3X@7}wdg8Wr8IY!ScjDrs~$+HDzb7`G42)Hr>d@`oLDav zBVIr4kodGcQ^QrnoF3)tshz(h+_Jf?PW8raj;AG=@m%Yr7o|pAcjf^6DiI)g)SOr!nq2oj=p9SnaojLgt0t>=9jSQZlOLE=2pE45(wR zy8F(m_~+CFjs?snt_B>_S#!4c&7XI<|5A$nh2M4xsvj*69NMV7ah}VYzmMBlmxRn0 zqXoj-!Iiq*r8(i{p^Ipr8DO@2+1W$-Q`~Pg_Cja=eydD gjCjIty7&k7{H2{Ho|-Q{0;7$=)78&qol`;+09vOY=>Px# literal 0 HcmV?d00001 diff --git a/textures/food_meat.png b/textures/food_meat.png new file mode 100644 index 0000000000000000000000000000000000000000..d4e4abb240710a90ce8febe6032fba147c5237a4 GIT binary patch literal 624 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{E8wV3gpxTG|BMw-ln*Rgl$uzQnV+Xnl9`*z zVEUb(6DY$8k_paFD=AMbN@a*G_zzOf4H9(8EKbfz1S&0J*nVJ3KTwzhBpjYtl$V*8 z&Tv5b8QclM`K3k4sSIELH@}7{bI#ArP0cG|_;zO6exMi|NNY%DNlq%mig%aPfg-;> zT^vI!dXG-tn0LrP#MOV*xo7f=-f1MIzC3d5*(#63q$ljN^iQ0aVi>F(I8j$xnECEv zgT;TG|1hU*x~ihK%46xilap%S?f!0i^Kz8&vUzS7>lHuPlvGYAj@5P*aAVN9ru{yg ziH+q$E5m{_NwbtLGUWfk@MR8yMRT}cbs8RwQQ z<}R_asC!o$tO7K2-E#d?I@>137+7oz&`y1*(8Km{9`k0#$=k!a`X4{lyCYn&vTw>QaA;8<*}~=t3f>5qc&B=A);& zYPzOw-MaU^E_#^7yL&lso^y`+@%wMfVzD5LV2wd3#jx7}kh5Tn##jeMh;b(8L|xYa zhzR!W$vJaMc<<2KFvp09FwZm3o_x%2zyHN@xr9=%-ZO=OwH5&9J$Bo5IOm8l(liab zVIZf(YPF)>Tv1gOec$7}N5&CKL1~Tmo-BecrI2$5V7J?0twm|g#pNZ-)smDmi@Iix zk)y*E1+dm4B3x}Y*bo8$);a2G!P(gvRaNoj^Jo0|_nH@>$t15Qp)S*@0P0b__^B7{J*Z1xP^o%fW|(e*t>Yn-)| zQdrbAZ~i&u@h1=X@7)E)SmHEctU+r-IPdV@VTWPh`uchgB_%=#%=3)Dx#8&O2xBdh zg}!fZqssO!i@5wo(wB#&o zw_6TYtGmL*I8)a(&N=KCPaomELn)2Y3hx|BDO3^GC#QST#xTW5yglzdAq2*8#IE0O z0Pt0Xi16_KF;!Ku*<7HsX4vgGJUpc9dx{8ERWVHyeb?=`5T=Pz3S$W5oLOtlgAecV zH3bV+lqek`Z<5Rc}ppU;pXNpwm3~V=MWLLZHx7u{{cAUfRWPZZyo>u N002ovPDHLkV1f`gW61yj literal 0 HcmV?d00001 diff --git a/textures/food_oven_front.png b/textures/food_oven_front.png new file mode 100644 index 0000000000000000000000000000000000000000..55ee708281d9f8a7dd3aae81541ef21a8bb5d58b GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sDEfH31!Z9ZwBAX}2Ry9>jA5L~c#`DCC7dx@v7EBhTbW&u96 zlv4GbK%p#87sn6_|F@GI`3@*>uq=H4==%r#SF^lw^u1ngoLw+U)=Xjbs$f^~1Dmsq zW$!T`o;`C$r8Rri!$zxwwg-iwhijO5IOM`j-FsPX|CH}dWk{Z^jA5L~c#`DCC7dx@v7EBhTbW&u96 zlv4GbK%uFgE{-7<{>e5qKR(p6aWN>LV2F;6Zu_tP)5ECk;vZq=0Db0;AN*H%ijLMN zF-GVH@O$VBpNU$K#^&bcw#dLkm*)U4180Lu$H5bIu7(fhuF*PJ;1J%N#Nc>0LZl)2 zVB6W*4^OOLtMan_b>mSc4YqryRtWTP?2!5rp>VQF<)}zI<54!A8ihl#4t@$vi{x?` eEN3NFFzG$89ZJ6T-G@yGywpx@L$~k literal 0 HcmV?d00001 diff --git a/textures/food_oven_side.png b/textures/food_oven_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c86782a2147130bb2b12644fb767e33ad5f4b1de GIT binary patch literal 731 zcmV<10wn#3P)vTw>QaA;8<*}~=t3f>5qc&B=A);& zYPzOw-MaU^E_#^7yL&lso^y`+@%wMfVzD5LV2wd3#jx7}kh5Tn##jeMh;b(8L|xYa zhzR!W$vJaMc<<2KFvp09FwZm3o_x%2zyHN@xr9=%-ZO=OwH5&9J$Bo5IOm8l(liab zVIZf(YPF)>Tv1gOec$7}N5&CKL1~Tmo-BecrI2$5V7J?0twm|g#pNZ-)smDmi@Iix zk)y*E1+dm4B3x}Y*bo8$);a2G!P(gvRaNoj^Jo0|_nH@>$t15Qp)S*@0P0b__^B7{J*Z1xP^o%fW|(e*t>Yn-)| zQdrbAZ~i&u@h1=X@7)E)SmHEctU+r-IPdV@VTWPh`uchgB_%=#%=3)Dx#8&O2xBdh zg}!fZqssO!i@5wo(wB#&o zw_6TYtGmL*I8)a(&N=KCPaomELn)2Y3hx|BDO3^GC#QST#xTW5yglzdAq2*8#IE0O z0Pt0Xi16_KF;!Ku*<7HsX4vgGJUpc9dx{8ERWVHyeb?=`5T=Pz3S$W5oLOtlgAecV zH3bV+lqek`Z<5Rc}ppU;pXNpwm3~V=MWLLZHx7u{{cAUfRWPZZyo>u N002ovPDHLkV1f`gW61yj literal 0 HcmV?d00001 diff --git a/textures/food_oven_top.png b/textures/food_oven_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c86782a2147130bb2b12644fb767e33ad5f4b1de GIT binary patch literal 731 zcmV<10wn#3P)vTw>QaA;8<*}~=t3f>5qc&B=A);& zYPzOw-MaU^E_#^7yL&lso^y`+@%wMfVzD5LV2wd3#jx7}kh5Tn##jeMh;b(8L|xYa zhzR!W$vJaMc<<2KFvp09FwZm3o_x%2zyHN@xr9=%-ZO=OwH5&9J$Bo5IOm8l(liab zVIZf(YPF)>Tv1gOec$7}N5&CKL1~Tmo-BecrI2$5V7J?0twm|g#pNZ-)smDmi@Iix zk)y*E1+dm4B3x}Y*bo8$);a2G!P(gvRaNoj^Jo0|_nH@>$t15Qp)S*@0P0b__^B7{J*Z1xP^o%fW|(e*t>Yn-)| zQdrbAZ~i&u@h1=X@7)E)SmHEctU+r-IPdV@VTWPh`uchgB_%=#%=3)Dx#8&O2xBdh zg}!fZqssO!i@5wo(wB#&o zw_6TYtGmL*I8)a(&N=KCPaomELn)2Y3hx|BDO3^GC#QST#xTW5yglzdAq2*8#IE0O z0Pt0Xi16_KF;!Ku*<7HsX4vgGJUpc9dx{8ERWVHyeb?=`5T=Pz3S$W5oLOtlgAecV zH3bV+lqek`Z<5Rc}ppU;pXNpwm3~V=MWLLZHx7u{{cAUfRWPZZyo>u N002ovPDHLkV1f`gW61yj literal 0 HcmV?d00001 diff --git a/textures/food_pastry_carrot.png b/textures/food_pastry_carrot.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b973b4520fc0837fe56545c873eb8e22c3325d GIT binary patch literal 846 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 P00000NkvXXu0mjfboQ{{ literal 0 HcmV?d00001 diff --git a/textures/food_sw_meat.png b/textures/food_sw_meat.png new file mode 100644 index 0000000000000000000000000000000000000000..56f4e5672f1f55584bde73c7dc5439f6311ba692 GIT binary patch literal 549 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`K2;$RB|(Yh3I#>^X_+~x3MG{V zsS2qTnQ06R6}KLHtv%uMIEaBcSy@jwxR~46+t`>{!C<4wMiVaw5_$Qs7kmC(Bm$SelvY3H^?+6GpPSxg<1`4v5c>21s-{E8w;4(6rl{pJ6 ziU&OF--5C#{5LXFM$T`2DvM4h>ql94%{~0TwC?8m~C^fMpGe1wEBr`Xa z!Sp*nCs2kHBomyUR#Ki=l*$lW@E@d{8zktGS)81c2vl0cu>HW6exNW1NH{#PC@(WF zo#BA=vv!~uJ4AnJQF1E7*Z