-- RUBENFOOD MOD -- A mod written by rubenwardy that adds -- food to the minetest game -- ====================================== -- >> rubenfood/support.lua -- adds support for other mods -- ====================================== -- [support] -- ====================================== print "Food [Support] - Initialising" --NODE_IMPLEMENT() Gets an item from another mod softly -- modname: the name of the mod that the item will be got from -- n_ext: the name of the item that we want to get -- n_int: the name we want to save the item so we can load it as an ingredient -- resultfunc: if the mod does not exist, then do this function function node_implement(modname,n_ext,n_int,resultfunc) if not minetest.get_modpath(modname) then -- Mod is NOT installed resultfunc() else -- Mod IS installed minetest.register_alias(n_int,n_ext) end end print "Food [Support] - Vegetables and Fruit" print "Food [Support] - > Bread and Flour" node_implement("farming","farming:flour","food:flour",function() node_implement("plantlib","plantlib:wheat","food:wheat",function() minetest.register_craft({ output = '"food:wheat" 1', recipe = { {"default:dry_shrub"}, } }) end) minetest.register_craftitem("food:flour", { description = "Flour", inventory_image = "farming_flour.png", }) minetest.register_craft({ output = '"food:flour" 1', recipe = { {"food:wheat"}, } }) end) node_implement("farming","farming:bread","food:bread",function() minetest.register_craftitem("food:bread", { description = "Bread", inventory_image = "food_bread.png", stack_max = 1, on_use = minetest.item_eat(10), groups={food=2}, }) minetest.register_craft({ type = "cooking", output = "food:bread", recipe = "food:dough", cooktime = 10, }) end) node_implement("farming","farming:cake_mix","food:dough",function() minetest.register_craftitem("food:dough", { description = "Cake Mix", inventory_image = "farming_cake_mix.png", }) minetest.register_craft({ output = "food:dough", type = "shapeless", recipe = {"food:flour", "food:flour", "food:flour", "food:flour", "bucket:bucket_water"}, replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}}, }) end) print "Food [Support] - > Strawberry" node_implement("farming_plus","farming_plus:strawberry_item","food:strawberry",function() node_implement("plantlib","plantlib:strawberry","food:strawberry",function() minetest.register_craftitem("food:strawberry", { description = "Strawberry", inventory_image = "farming_strawberry.png", on_use = minetest.item_eat(2), }) minetest.register_craft({ output = '"food:strawberry" 1', recipe = { {"default:apple"}, } }) end) end) print "Food [Support] - > Carrot" node_implement("farming_plus","farming_plus:carrot_item","food:carrot",function() node_implement("docfarming","docfarming:carrot","food:carrot",function() node_implement("plantlib","plantlib:carrot","food:carrot",function() minetest.register_craftitem("food:carrot", { description = "Carrot", inventory_image = "farming_carrot.png", on_use = minetest.item_eat(3), }) minetest.register_craft({ output = '"food:carrot" 1', recipe = { {"default:apple","default:apple","default:apple"}, } }) end) end) end) print "Food [Support] - > Rhubarb" node_implement("farming_plus","farming_plus:rhubarb_item","food:rhubarb",function() minetest.register_craftitem("food:rhubarb", { description = "Rhubarb", inventory_image = "farming_rhubarb.png", }) minetest.register_craft({ output = '"food:rhubarb" 1', recipe = { {"default:apple"}, {"default:apple"}, {"default:apple"} } }) end) print "Food [Support] - > Cocoa Bean" node_implement("farming_plus","farming_plus:cocoa_bean","food:cocoa",function() minetest.register_craftitem("food:cocoa", { description = "Cocoa Bean", inventory_image = "farming_cocoa_bean.png", }) minetest.register_craft({ output = '"food:cocoa" 1', recipe = { {"","default:apple",""}, {"default:apple","","default:apple"}, {"","default:apple",""} } }) end) print "Food [Support] - > Banana" node_implement("farming_plus","farming_plus:banana","food:banana",function() minetest.register_node("food:banana", { description = "Banana", tiles = {"farming_banana.png"}, inventory_image = "farming_banana.png", wield_image = "farming_banana.png", drawtype = "torchlike", paramtype = "light", sunlight_propagates = true, walkable = false, groups = {fleshy=3,dig_immediate=3,flammable=2}, sounds = default.node_sound_defaults(), on_use = minetest.item_eat(6), }) minetest.register_craft({ output = '"food:banana" 1', recipe = { {"default:apple"}, {"default:apple"} } }) end) print "Food [Support] - > Tomato" node_implement("farming_plus","farming_plus:tomato_item","food:tomato",function() node_implement("plantlib","plantlib:tomato","food:tomato",function() minetest.register_craftitem("food:tomato", { description = "Tomato", inventory_image = "farming_strawberry.png", on_use = minetest.item_eat(2), }) minetest.register_craft({ output = '"food:rhubarb" 1', recipe = { {""}, {""}, {"default:apple"} } }) end) end) print "Food [Support] - > Potato" node_implement("docfarming","docfarming:potato","food:potato",function() minetest.register_craftitem("food:potato", { description = "Potato", inventory_image = "food_potato.png", }) minetest.register_craft({ output = '"food:rhubarb" 1', recipe = { {"default:apple"}, {"default:dirt"} } }) end) node_implement("docfarming","docfarming:bakedpotato","food:potato_baked",function() minetest.register_craftitem("food:potato_baked", { description = "Baked Potato", inventory_image = "food_baked_potato.png", on_use = minetest.item_eat(6), }) minetest.register_craft({ type = "cooking", output = "food:potato_baked", recipe = "food:potato", cooktime = 2, }) end) print "Food [Support] - > Coffee" node_implement("plantlib","plantlib:coffee","food:coffeebean",function() minetest.register_craftitem("food:coffeebean",{ description = "Raw Coffee Bean", tiles = {"food_coffee.png"}, inventory_image = "food_coffee.png", }) minetest.register_craft({ output = '"food:coffeebean" 1', recipe = { {'""','"default:dry_shrub"','""'}, {'""','"default:dry_shrub"','""'}, {'""','"default:dry_shrub"','""'}, } }) end) print "Food [Support] - Meats and Animal Produce" print "Food [Support] - > Raw Meat" node_implement("mobs","mobs:meat_raw","food:meat_raw",function() 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 }) minetest.register_craft({ output = '"food:meat_raw" 1', recipe = { {"default:apple"}, {"default:dirt"} } }) end) end) print "Food [Support] - > Meat" node_implement("mobs","mobs:meat","food:meat",function() 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 = 30 }) end) print "Food [Support] - > Egg" node_implement("animalmaterials","animalmaterials:egg","food:egg",function() minetest.register_craftitem("food:egg", { description = "Egg", image = "animalmaterials_egg.png", stack_max=10 }) minetest.register_craft({ output = '"food:egg" 1', recipe = { {"default:sand"}, {"default:apple"} } }) end) print "Food [Support] - > Milk" node_implement("animalmaterials","animalmaterials:milk","food:milk",function() node_implement("my_mobs","my_mobs:milk_glass_cup","food:milk",function() minetest.register_craftitem("food:milk", { description = "Milk", image = "animalmaterials_milk.png", on_use = minetest.item_eat(1), groups = { eatable=1 }, stack_max=10 }) minetest.register_craft({ output = '"food:meat_raw" 1', recipe = { {"default:apple"}, {"bucket:bucket_water"} }, replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}}, }) end) end) print "Food [Support] - Vessels and Cutlery" node_implement("vessels","vessels:drinking_glass","food:cup",function() node_implement("animalmaterials","animalmaterials:glass","food:cup",function() minetest.register_craftitem("food:cup",{ description = "Glass", tiles = {"food_cup.png"}, inventory_image = "food_cup.png", }) minetest.register_craft({ output = '"food:cup" 1', recipe = { {"default:glass"}, {"default:glass"} } }) end) end)