-- FOOD MOD -- A mod written by rubenwardy that adds -- food to the minetest game -- ===================================== -- >> food_basic/init.lua -- Some basic foods -- ===================================== print("Food Mod - Version 2.4") dofile(minetest.get_modpath("food_basic").."/settings.lua") dofile(minetest.get_modpath("food_basic").."/support.lua") dofile(minetest.get_modpath("food_basic").."/ingredients.lua") -- Boilerplate to support localized strings if intllib mod is installed. local S = 0 if minetest.get_modpath("intllib") then S = intllib.Getter() else S = function ( s ) return s end end -- Register Venison food.module("meat_cooked", function() minetest.register_craftitem(":food:meat", { description = S("Venison"), inventory_image = "food_meat.png", groups = {food_meat=1, food_meat_cooked=1} }) food.craft({ type = "cooking", output = "food:meat", recipe = "group:food_meat_raw", cooktime = 30 }) end) -- Register dark chocolate food.module("dark_chocolate", function() minetest.register_craftitem(":food:dark_chocolate",{ description = S("Dark Chocolate"), inventory_image = "food_dark_chocolate.png", on_use = food.item_eat(3), groups = {food_dark_chocolate=1} }) food.craft({ output = "food:dark_chocolate", recipe = { {"group:food_cocoa","group:food_cocoa","group:food_cocoa"} } }) end) -- Register milk chocolate food.module("milk_chocolate", function() minetest.register_craftitem(":food:milk_chocolate",{ description = S("Milk Chocolate"), inventory_image = "food_milk_chocolate.png", on_use = food.item_eat(3), groups = {food_milk_chocolate=1} }) food.craft({ output = "food:milk_chocolate", recipe = { {"","group:food_milk",""}, {"group:food_cocoa","group:food_cocoa","group:food_cocoa"} }, replacements = {{"mobs:bucket_milk", "bucket:bucket_empty"}, {"mobs:glass_milk", "vessels:drinking_glass"}, {"farming:soy_milk", "vessels:drinking_glass"}} }) end) -- Register baked potato food.module("baked_potato", function() minetest.register_craftitem(":food:baked_potato", { description = S("Baked Potato"), inventory_image = "food_baked_potato.png", on_use = food.item_eat(6), }) food.craft({ type = "cooking", output = "food:baked_potato", recipe = "group:food_potato", }) end) -- Register pasta bake food.module("pasta_bake", function() minetest.register_craftitem(":food:pasta_bake",{ description = S("Pasta Bake"), inventory_image = "food_pasta_bake.png", on_use = food.item_eat(4), groups = {food=3} }) minetest.register_craftitem(":food:pasta_bake_raw",{ description = S("Raw Pasta Bake"), inventory_image = "food_pasta_bake_raw.png", }) food.craft({ output = "food:pasta_bake", type = "cooking", recipe = "food:pasta_bake_raw" }) food.craft({ output = "food:pasta_bake_raw", recipe = { {"group:food_cheese"}, {"group:food_pasta"}, {"group:food_bowl"} }, }) end) -- Register Soups local soups = { {"tomato", "tomato"}, {"chicken", "meat_raw"} } local repl_bucket = food.bing["bucket_empty"] ~= "none" and {{"group:food_water_bucket", food.bing["bucket_empty"].." 2"}} or nil for i=1, #soups do local flav = soups[i] food.module("soup_"..flav[1], function() minetest.register_craftitem(":food:soup_"..flav[1],{ description = S(flav[1].." Soup"), inventory_image = "food_soup_"..flav[1]..".png", on_use = food.item_eat(4), groups = {food=3} }) minetest.register_craftitem(":food:soup_"..flav[1].."_raw",{ description = S("Uncooked ".. flav[1].." Soup"), inventory_image = "food_soup_"..flav[1].."_raw.png", }) food.craft({ type = "cooking", output = "food:soup_"..flav[1], recipe = "food:soup_"..flav[1].."_raw", }) food.craft({ output = "food:soup_"..flav[1].."_raw", recipe = { {"", "", ""}, {"group:food_water_bucket", "group:food_"..flav[2], "group:food_water_bucket"}, {"", "group:food_bowl", ""}, }, replacements = repl_bucket }) end) end -- Juices local juices = {"apple", "orange", "cactus"} for i=1, #juices do local flav = juices[i] food.module(flav.."_juice", function() minetest.register_craftitem(":food:"..flav.."_juice", { description = S(flav.." Juice"), inventory_image = "food_"..flav.."_juice.png", on_use = food.item_eat(2, food.bing["cup"]), groups = {["food_"..flav.."_juice"] = 1, vessel = 1} }) food.craft({ output = "food:"..flav.."_juice", recipe = { {"","",""}, {"","group:food_"..flav,""}, {"",food.bing["cup"],""}, } }) end) end food.module("rainbow_juice", function() minetest.register_craftitem(":food:rainbow_juice", { description = S("Rainbow Juice"), inventory_image = "food_rainbow_juice.png", on_use = food.item_eat(20, food.bing["cup"]), groups = { vessel = 1 } }) if minetest.registered_items["default:nyancat_rainbow"] then food.craft({ output = "food:rainbow_juice 99", recipe = { {"","",""}, {"","default:nyancat_rainbow",""}, {"",food.bing["cup"],""}, } }) end food.craft({ output = "food:rainbow_juice 3", recipe = { {"group:food_apple_juice","group:food_apple_juice","group:food_apple_juice"}, {"group:food_orange_juice","group:food_orange_juice","group:food_orange_juice"}, {"group:food_cactus_juice","group:food_cactus_juice","group:food_cactus_juice"} } }) end) food.cake_box = { type = "fixed", fixed = { {-0.250000,-0.500000,-0.296880,0.250000,-0.250000,0.312502}, {-0.309375,-0.500000,-0.250000,0.309375,-0.250000,0.250000}, {-0.250000,-0.250000,-0.250000,0.250000,-0.200000,0.250000} } } -- Register cakes food.module("cake", function() minetest.register_node(":food:cake", { description = S("Cake"), on_use = food.item_eat(4), groups={food=3,crumbly=3}, tiles = { "food_cake_texture.png", "food_cake_texture.png", "food_cake_texture_side.png", "food_cake_texture_side.png", "food_cake_texture_side.png", "food_cake_texture_side.png" }, walkable = false, sunlight_propagates = true, drawtype="nodebox", paramtype = "light", node_box = food.cake_box }) food.craft({ type = "cooking", output = "food:cake", recipe = "food:cakemix_plain", cooktime = 10, }) minetest.register_craftitem(":food:cakemix_plain",{ description = S("Cake Mix"), inventory_image = "food_cakemix_plain.png", }) minetest.register_craft({ output = "food:cakemix_plain", recipe = { {"group:food_flour","group:food_sugar","group:food_egg"}, } }) end) food.module("cake_choco", function() minetest.register_node(":food:cake_choco", { description = S("Chocolate Cake"), on_use = food.item_eat(4), groups={food=3,crumbly=3}, tiles = { "food_cake_choco_texture.png", "food_cake_choco_texture.png", "food_cake_choco_texture_side.png", "food_cake_choco_texture_side.png", "food_cake_choco_texture_side.png", "food_cake_choco_texture_side.png" }, walkable = false, sunlight_propagates = true, drawtype="nodebox", paramtype = "light", node_box = food.cake_box }) food.craft({ type = "cooking", output = "food:cake_choco", recipe = "food:cakemix_choco", cooktime = 10, }) minetest.register_craftitem(":food:cakemix_choco",{ description = S("Chocolate Cake Mix"), inventory_image = "food_cakemix_choco.png", }) food.craft({ output = "food:cakemix_choco", recipe = { {"","group:food_choco_powder",""}, {"group:food_flour","group:food_sugar","group:food_egg"}, } }) end) food.module("cake_carrot", function() minetest.register_node(":food:cake_carrot", { description = S("Carrot Cake"), on_use = food.item_eat(4), groups={food=3,crumbly=3}, walkable = false, sunlight_propagates = true, tiles = { "food_cake_carrot_texture.png", "food_cake_carrot_texture.png", "food_cake_carrot_texture_side.png", "food_cake_carrot_texture_side.png", "food_cake_carrot_texture_side.png", "food_cake_carrot_texture_side.png" }, drawtype="nodebox", paramtype = "light", node_box = food.cake_box }) food.craft({ type = "cooking", output = "food:cake_carrot", recipe = "food:cakemix_carrot", cooktime = 10, }) minetest.register_craftitem(":food:cakemix_carrot",{ description = S("Carrot Cake Mix"), inventory_image = "food_cakemix_carrot.png", }) food.craft({ output = "food:cakemix_carrot", recipe = { {"","group:food_carrot",""}, {"group:food_flour","group:food_sugar","group:food_egg"}, } }) end)