forked from mtcontrib/food
		
	Module based
This commit is contained in:
		
							
								
								
									
										143
									
								
								api.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								api.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,143 @@
 | 
			
		||||
 -- FOOD MOD
 | 
			
		||||
-- A mod written by rubenwardy that adds
 | 
			
		||||
-- food to the minetest game
 | 
			
		||||
-- =====================================
 | 
			
		||||
-- >> food/api.lua
 | 
			
		||||
-- The supporting api for the mod
 | 
			
		||||
-- =====================================
 | 
			
		||||
 | 
			
		||||
-- Boilerplate to support localized strings if intllib mod is installed.
 | 
			
		||||
S = 0
 | 
			
		||||
if (intllib) then
 | 
			
		||||
	dofile(minetest.get_modpath("intllib").."/intllib.lua")
 | 
			
		||||
	S = intllib.Getter(minetest.get_current_modname())
 | 
			
		||||
else
 | 
			
		||||
	S = function ( s ) return s end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
food = {
 | 
			
		||||
	modules = {},
 | 
			
		||||
	disabled_modules = {},
 | 
			
		||||
	debug = true,
 | 
			
		||||
	version = 2.3
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
-- Checks for external content, and adds support
 | 
			
		||||
function food.support(group, item)
 | 
			
		||||
	if type(group) == "table" then
 | 
			
		||||
		for i = 1, #group do
 | 
			
		||||
			food.support(group[i], item)
 | 
			
		||||
		end
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
	if type(item) == "table" then
 | 
			
		||||
		for i = 1, #item do
 | 
			
		||||
			food.support(group, item[i])
 | 
			
		||||
		end
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local idx = string.find(item, ":")
 | 
			
		||||
	if idx <= 1 then
 | 
			
		||||
		error("[Food Error] food.support - error in item name ('" .. item .. "')")
 | 
			
		||||
	end
 | 
			
		||||
	mod = string.sub(item, 1, idx - 1)
 | 
			
		||||
 | 
			
		||||
	if not minetest.get_modpath(mod) then
 | 
			
		||||
		if food.debug then
 | 
			
		||||
			print("[Food Debug] Mod '"..mod.."' is not installed")
 | 
			
		||||
		end
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local data = minetest.registered_items[item]
 | 
			
		||||
	if not data then
 | 
			
		||||
		print("[Food Warning] Item '"..item.."' not found")
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	food.disable(group)
 | 
			
		||||
 | 
			
		||||
	-- Add group
 | 
			
		||||
	g = {}
 | 
			
		||||
	if data.groups then
 | 
			
		||||
		for k, v in pairs(data.groups) do
 | 
			
		||||
			g[k] = v
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	g["food_"..group] = 1
 | 
			
		||||
	minetest.override_item(item, {groups = g})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function food.disable(name)
 | 
			
		||||
	food.disabled_modules[name] = true
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Adds a module
 | 
			
		||||
function food.module(name, func, ingred)
 | 
			
		||||
	if food.disabled_modules[name] then
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
	if ingred then
 | 
			
		||||
		for name, def in pairs(minetest.registered_items) do
 | 
			
		||||
			local g = def.groups and def.groups["food_"..name] or 0
 | 
			
		||||
			if g > 0 then
 | 
			
		||||
				print("cancelled")
 | 
			
		||||
				return
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
	
 | 
			
		||||
		if food.debug then
 | 
			
		||||
			print("[Food Debug] Registering " .. name .. " fallback definition")
 | 
			
		||||
		end
 | 
			
		||||
	elseif food.debug then
 | 
			
		||||
		print("[Food Debug] Module " .. name)
 | 
			
		||||
	end
 | 
			
		||||
	func()
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Checks for hunger mods to register food on
 | 
			
		||||
function food.item_eat(amt)
 | 
			
		||||
	if minetest.get_modpath("diet") then
 | 
			
		||||
		return diet.item_eat(amt)
 | 
			
		||||
	elseif minetest.get_modpath("hud") then
 | 
			
		||||
		return hud.item_eat(amt)
 | 
			
		||||
	else
 | 
			
		||||
		return minetest.item_eat(amt)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Registers craft item or node depending on settings
 | 
			
		||||
function food.register(name, data, mod)
 | 
			
		||||
	if (minetest.setting_getbool("food_use_2d") or (mod ~= nil and minetest.setting_getbool("food_"..mod.."_use_2d"))) then
 | 
			
		||||
		minetest.register_craftitem(name,{
 | 
			
		||||
			description = data.description,
 | 
			
		||||
			inventory_image = data.inventory_image,
 | 
			
		||||
			groups = data.groups,
 | 
			
		||||
			on_use = data.on_use
 | 
			
		||||
		})
 | 
			
		||||
	else
 | 
			
		||||
		local newdata = {
 | 
			
		||||
			description = data.description,
 | 
			
		||||
			tiles = data.tiles,
 | 
			
		||||
			groups = data.groups,
 | 
			
		||||
			on_use = data.on_use,
 | 
			
		||||
			walkable = false,
 | 
			
		||||
			sunlight_propagates = true,
 | 
			
		||||
			drawtype = "nodebox",
 | 
			
		||||
			paramtype = "light",
 | 
			
		||||
			node_box = data.node_box
 | 
			
		||||
		}
 | 
			
		||||
		if (minetest.setting_getbool("food_2d_inv_image")) then
 | 
			
		||||
			newdata.inventory_image = data.inventory_image
 | 
			
		||||
		end
 | 
			
		||||
		minetest.register_node(name,newdata)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Allows for overriding in the future
 | 
			
		||||
function food.craft(craft)
 | 
			
		||||
	minetest.register_craft(craft)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										269
									
								
								ingredients.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										269
									
								
								ingredients.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,269 @@
 | 
			
		||||
-- FOOD MOD
 | 
			
		||||
-- A mod written by rubenwardy that adds
 | 
			
		||||
-- food to the minetest game
 | 
			
		||||
-- =====================================
 | 
			
		||||
-- >> food/ingredients.lua
 | 
			
		||||
-- Fallback ingredients
 | 
			
		||||
-- =====================================
 | 
			
		||||
 | 
			
		||||
food.module("wheat", function()
 | 
			
		||||
	minetest.register_craftitem("food:wheat", {
 | 
			
		||||
		description = S("Wheat"), 
 | 
			
		||||
		inventory_image = "food_wheat.png", 
 | 
			
		||||
		groups = {food_wheat=1}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:wheat", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:dry_shrub"}, 
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("flour", function()
 | 
			
		||||
	minetest.register_craftitem("food:flour", {
 | 
			
		||||
		description = S("Flour"), 
 | 
			
		||||
		inventory_image = "food_flour.png", 
 | 
			
		||||
		groups = {food_flour = 1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:flour", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"group:food_wheat"}, 
 | 
			
		||||
			{"group:food_wheat"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:flour", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:sand"}, 
 | 
			
		||||
			{"default:sand"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("potato", function()
 | 
			
		||||
	minetest.register_craftitem("food:potato", {
 | 
			
		||||
		description = S("Potato"), 
 | 
			
		||||
		inventory_image = "food_potato.png", 
 | 
			
		||||
		groups = {food_potato = 1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:potato", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:dirt"}, 
 | 
			
		||||
			{"default:apple"}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("tomato", function()
 | 
			
		||||
	minetest.register_craftitem("food:tomato", {
 | 
			
		||||
		description = S("Tomato"), 
 | 
			
		||||
		inventory_image = "food_tomato.png", 
 | 
			
		||||
		groups = {food_tomato = 1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:tomato", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"", "default:desert_sand", ""}, 
 | 
			
		||||
			{"default:desert_sand", "", "default:desert_sand"}, 
 | 
			
		||||
			{"", "default:desert_sand", ""}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("carrot", function()
 | 
			
		||||
	minetest.register_craftitem("food:carrot", {
 | 
			
		||||
		description = S("Carrot"), 
 | 
			
		||||
		inventory_image = "food_carrot.png", 
 | 
			
		||||
		groups = {food_carrot=1}, 
 | 
			
		||||
		on_use = food.item_eat(3)
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:carrot", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:apple", "default:apple", "default:apple"}, 
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("milk", function()
 | 
			
		||||
	minetest.register_craftitem("food:milk", {
 | 
			
		||||
		description = S("Milk"), 
 | 
			
		||||
		image = "food_milk.png", 
 | 
			
		||||
		on_use = food.item_eat(1), 
 | 
			
		||||
		groups = { eatable=1, food_milk = 1 }, 
 | 
			
		||||
		stack_max=10
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:milk", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:sand"}, 
 | 
			
		||||
			{"bucket:bucket_water"}
 | 
			
		||||
		}, 
 | 
			
		||||
		replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}}, 
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("egg", function()
 | 
			
		||||
	minetest.register_craftitem("food:egg", {
 | 
			
		||||
		description = S("Egg"), 
 | 
			
		||||
		inventory_image = "food_egg.png", 
 | 
			
		||||
		groups = {food_egg=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:egg", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"", "default:sand", ""}, 
 | 
			
		||||
			{"default:sand", "", "default:sand"}, 
 | 
			
		||||
			{"", "default:sand", ""}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("cocoa", function()
 | 
			
		||||
	minetest.register_craftitem("food:cocoa", {
 | 
			
		||||
		description = S("Cocoa Bean"), 
 | 
			
		||||
		inventory_image = "food_cocoa.png", 
 | 
			
		||||
		groups = {food_cocoa=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:cocoa", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"", "default:apple", ""}, 
 | 
			
		||||
			{"default:apple", "", "default:apple"}, 
 | 
			
		||||
			{"", "default:apple", ""}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("meat", function()
 | 
			
		||||
	minetest.register_craftitem("food:meat", {
 | 
			
		||||
		description = S("Venison"), 
 | 
			
		||||
		inventory_image = "food_meat.png", 
 | 
			
		||||
		groups = {food_meat=1, food_chicken=1}
 | 
			
		||||
	})	
 | 
			
		||||
	food.craft({
 | 
			
		||||
		type = "cooking", 
 | 
			
		||||
		output = "food:meat", 
 | 
			
		||||
		recipe = "group:food_meat_raw", 
 | 
			
		||||
		cooktime = 30
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	if not minetest.get_modpath("animalmaterials") then
 | 
			
		||||
		minetest.register_craftitem("food:meat_raw", {
 | 
			
		||||
			description = S("Raw meat"), 
 | 
			
		||||
			image = "food_meat_raw.png", 
 | 
			
		||||
			on_use = food.item_eat(1), 
 | 
			
		||||
			groups = { meat=1, eatable=1, food_meat_raw=1 }, 
 | 
			
		||||
			stack_max=25
 | 
			
		||||
		})
 | 
			
		||||
		food.craft({
 | 
			
		||||
			output = "food:meat_raw", 
 | 
			
		||||
			recipe = {
 | 
			
		||||
				{"default:apple"}, 
 | 
			
		||||
				{"default:dirt"}
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
	end
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("sugar", function()
 | 
			
		||||
	minetest.register_craftitem("food:sugar", {
 | 
			
		||||
		description = S("Sugar"), 
 | 
			
		||||
		inventory_image = "food_sugar.png", 
 | 
			
		||||
		groups = {food_sugar=1}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		output = "food:sugar 20", 
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:papyrus"}, 
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("chocolate_powder", function()
 | 
			
		||||
	minetest.register_craftitem("food:chocolate_powder", {
 | 
			
		||||
		description = S("Chocolate Powder"),
 | 
			
		||||
		inventory_image = "food_chocolate_powder.png",
 | 
			
		||||
		groups = {food_choco_powder = 1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:chocolate_powder 16",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"group:food_cocoa","group:food_cocoa","group:food_cocoa"},
 | 
			
		||||
			{"group:food_cocoa","group:food_cocoa","group:food_cocoa"},
 | 
			
		||||
			{"group:food_cocoa","group:food_cocoa","group:food_cocoa"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("pasta", function()
 | 
			
		||||
	minetest.register_craftitem("food:pasta",{
 | 
			
		||||
		description = S("Pasta"),
 | 
			
		||||
		inventory_image = "food_pasta.png",
 | 
			
		||||
		groups = {food_pasta=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:pasta 4",
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		recipe = {"group:food_flour","group:food_egg","group:food_egg"}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("bowl", function()
 | 
			
		||||
	minetest.register_craftitem("food:bowl",{
 | 
			
		||||
		description = S("Bowl"),
 | 
			
		||||
		inventory_image = "food_bowl.png",
 | 
			
		||||
		groups = {food_bowl=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:bowl",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:clay_lump","","default:clay_lump"},
 | 
			
		||||
			{"","default:clay_lump",""}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("butter", function()
 | 
			
		||||
	minetest.register_craftitem("food:butter", {
 | 
			
		||||
		description = S("Butter"),
 | 
			
		||||
		inventory_image = "food_butter.png",
 | 
			
		||||
		groups = {food_butter=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:butter",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"group:food_milk","group:food_milk"},
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
food.module("cheese", function()
 | 
			
		||||
	minetest.register_craftitem("food:cheese", {
 | 
			
		||||
		description = S("Cheese"),
 | 
			
		||||
		inventory_image = "food_cheese.png",
 | 
			
		||||
		on_use = food.item_eat(4),
 | 
			
		||||
		groups = {food_cheese=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:cheese",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"group:food_butter","group:food_butter"},
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end, true)
 | 
			
		||||
 | 
			
		||||
if (minetest.get_modpath("animalmaterials") and not minetest.get_modpath("mobfcooking")) then
 | 
			
		||||
	food.craft({
 | 
			
		||||
		type = "cooking", 
 | 
			
		||||
		output = "food:meat", 
 | 
			
		||||
		recipe = "animalmaterials:meat_raw", 
 | 
			
		||||
		cooktime = 30
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										619
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										619
									
								
								init.lua
									
									
									
									
									
								
							@@ -3,498 +3,99 @@
 | 
			
		||||
-- food to the minetest game
 | 
			
		||||
-- =====================================
 | 
			
		||||
-- >> food/init.lua
 | 
			
		||||
-- The support api for the mod, and some
 | 
			
		||||
-- basic foods
 | 
			
		||||
-- Some basic foods
 | 
			
		||||
-- =====================================
 | 
			
		||||
 | 
			
		||||
print("Food Mod - Version 2.2")
 | 
			
		||||
 | 
			
		||||
-- Boilerplate to support localized strings if intllib mod is installed.
 | 
			
		||||
local S
 | 
			
		||||
if (intllib) then
 | 
			
		||||
	dofile(minetest.get_modpath("intllib").."/intllib.lua")
 | 
			
		||||
	S = intllib.Getter(minetest.get_current_modname())
 | 
			
		||||
else
 | 
			
		||||
	S = function ( s ) return s end
 | 
			
		||||
end
 | 
			
		||||
dofile(minetest.get_modpath("food").."/api.lua")
 | 
			
		||||
dofile(minetest.get_modpath("food").."/support.lua")
 | 
			
		||||
dofile(minetest.get_modpath("food").."/ingredients.lua")
 | 
			
		||||
 | 
			
		||||
food = {
 | 
			
		||||
	supported = {},
 | 
			
		||||
	atsup = {},
 | 
			
		||||
	df = {},
 | 
			
		||||
	debug = false,
 | 
			
		||||
	version = 2.2
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
-- Checks for external content, and adds support
 | 
			
		||||
function food.support(group,mod,item)
 | 
			
		||||
	food.atsup[group] = true
 | 
			
		||||
	if not minetest.get_modpath(mod) then
 | 
			
		||||
		if food.debug then
 | 
			
		||||
			print("[FOOD MOD DEBUG] mod '"..mod.."' is not installed")
 | 
			
		||||
		end
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local data = minetest.registered_items[item]
 | 
			
		||||
	if not data then
 | 
			
		||||
		print("[FOOD MOD WARNING] item '"..item.."' not found")
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	-- Need to copy this table, not modify it in place, otherwise it can change
 | 
			
		||||
	-- the groups for ALL craftitems that use the default groups.
 | 
			
		||||
	g = {}
 | 
			
		||||
	if data.groups then
 | 
			
		||||
	for k, v in pairs(data.groups) do
 | 
			
		||||
		g[k] = v
 | 
			
		||||
	end
 | 
			
		||||
	end
 | 
			
		||||
	g["food_"..group] = 1
 | 
			
		||||
	minetest.override_item(item, {groups = g})
 | 
			
		||||
 | 
			
		||||
	food.supported[group] = true
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Defines built in items if needed
 | 
			
		||||
function food.asupport(group,add)
 | 
			
		||||
	food.df[group] = true
 | 
			
		||||
	if food.supported[group] then
 | 
			
		||||
		return
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	for name, def in pairs(minetest.registered_items) do
 | 
			
		||||
		local g = def.groups and def.groups["food_"..group] or 0
 | 
			
		||||
		if g > 0 then
 | 
			
		||||
			return
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	
 | 
			
		||||
	if food.debug then
 | 
			
		||||
		print("registering "..group.." inbuilt definition")
 | 
			
		||||
	end
 | 
			
		||||
 
 | 
			
		||||
	add()
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Checks for hunger mods to register food on
 | 
			
		||||
function food.item_eat(amt)
 | 
			
		||||
	if minetest.get_modpath("diet") then
 | 
			
		||||
		return diet.item_eat(amt)
 | 
			
		||||
	elseif minetest.get_modpath("hud") then
 | 
			
		||||
		return hud.item_eat(amt)
 | 
			
		||||
	else
 | 
			
		||||
		return minetest.item_eat(amt)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Registers craft item or node depending on settings
 | 
			
		||||
function food.register(name,data,mod)
 | 
			
		||||
	if (minetest.setting_getbool("food_use_2d") or (mod ~= nil and minetest.setting_getbool("food_"..mod.."_use_2d"))) then
 | 
			
		||||
		minetest.register_craftitem(name,{
 | 
			
		||||
			description = data.description,
 | 
			
		||||
			inventory_image = data.inventory_image,
 | 
			
		||||
			groups = data.groups,
 | 
			
		||||
			on_use = data.on_use
 | 
			
		||||
		})
 | 
			
		||||
	else
 | 
			
		||||
		local newdata = {
 | 
			
		||||
			description = data.description,
 | 
			
		||||
			tiles = data.tiles,
 | 
			
		||||
			groups = data.groups,
 | 
			
		||||
			on_use = data.on_use,
 | 
			
		||||
			walkable = false,
 | 
			
		||||
			sunlight_propagates = true,
 | 
			
		||||
			drawtype = "nodebox",
 | 
			
		||||
			paramtype = "light",
 | 
			
		||||
			node_box = data.node_box
 | 
			
		||||
		}
 | 
			
		||||
		if (minetest.setting_getbool("food_2d_inv_image")) then
 | 
			
		||||
			newdata.inventory_image = data.inventory_image
 | 
			
		||||
		end
 | 
			
		||||
		minetest.register_node(name,newdata)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Allows for overriding in the future
 | 
			
		||||
function food.craft(craft)
 | 
			
		||||
	minetest.register_craft(craft)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Debug to check all supports have in built version, etc
 | 
			
		||||
if food.debug then
 | 
			
		||||
minetest.after(0, function()
 | 
			
		||||
	for name, val in pairs(food.atsup) do
 | 
			
		||||
		if not food.df[name] then
 | 
			
		||||
			print("[FOOD MOD DEBUG] Ingredient "..name.." has no built in equiv")
 | 
			
		||||
		
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	
 | 
			
		||||
	for name, val in pairs(food.df) do
 | 
			
		||||
		if not food.atsup[name] then
 | 
			
		||||
			print("[FOOD MOD DEBUG] Inbuilt ingredient "..name.." has no supported external equiv")
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
end)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Add support for other mods
 | 
			
		||||
local function _meat(type,mod,item)
 | 
			
		||||
	food.support(type,mod,item)
 | 
			
		||||
	food.support("meat",mod,item)
 | 
			
		||||
end
 | 
			
		||||
food.support("wheat","farming","farming:wheat")
 | 
			
		||||
food.support("flour","farming","farming:flour")
 | 
			
		||||
food.support("potato","docfarming","docfarming:potato")
 | 
			
		||||
food.support("potato","veggies","veggies:potato")
 | 
			
		||||
food.support("potato","farming_plus","farming_plus:potato_item")
 | 
			
		||||
food.support("tomato","farming_plus","farming_plus:tomato_item")
 | 
			
		||||
food.support("tomato","plantlib","plantlib:tomato")
 | 
			
		||||
food.support("carrot","farming_plus","farming_plus:carrot_item")
 | 
			
		||||
food.support("carrot","docfarming","docfarming:carrot")
 | 
			
		||||
food.support("carrot","plantlib","plantlib:carrot")
 | 
			
		||||
food.support("carrot","jkfarming","jkfarming:carrot")
 | 
			
		||||
food.support("cocoa","farming_plus","farming_plus:cocoa_bean")
 | 
			
		||||
food.support("milk","animalmaterials","animalmaterials:milk")
 | 
			
		||||
food.support("milk","my_mobs","my_mobs:milk_glass_cup")
 | 
			
		||||
food.support("milk","jkanimals","jkanimals:bucket_milk")
 | 
			
		||||
food.support("egg","animalmaterials","animalmaterials:egg")
 | 
			
		||||
food.support("egg","animalmaterials","animalmaterials:egg_big")
 | 
			
		||||
food.support("egg","jkanimals","jkanimals:egg")
 | 
			
		||||
food.support("meat_raw","animalmaterials","animalmaterials:meat_raw")
 | 
			
		||||
food.support("meat","mobs","mobs:meat")
 | 
			
		||||
food.support("meat","jkanimals","jkanimals:meat")
 | 
			
		||||
_meat("pork","mobfcooking","mobfcooking:cooked_pork")
 | 
			
		||||
_meat("beef","mobfcooking","mobfcooking:cooked_beef")
 | 
			
		||||
_meat("chicken","mobfcooking","mobfcooking:cooked_chicken")
 | 
			
		||||
_meat("lamb","mobfcooking","mobfcooking:cooked_lamb")
 | 
			
		||||
_meat("venison","mobfcooking","mobfcooking:cooked_venison")
 | 
			
		||||
food.support("cup","vessels","vessels:drinking_glass")
 | 
			
		||||
food.support("sugar","jkfarming","jkfarming:sugar")
 | 
			
		||||
food.support("sugar","bushes_classic","bushes:sugar")
 | 
			
		||||
 | 
			
		||||
-- Default inbuilt ingredients
 | 
			
		||||
food.asupport("wheat",function()
 | 
			
		||||
	minetest.register_craftitem("food:wheat", {
 | 
			
		||||
		description = S("Wheat"),
 | 
			
		||||
		inventory_image = "food_wheat.png",
 | 
			
		||||
		groups = {food_wheat=1}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:wheat",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:dry_shrub"},
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("flour",function()
 | 
			
		||||
	minetest.register_craftitem("food:flour", {
 | 
			
		||||
		description = S("Flour"),
 | 
			
		||||
		inventory_image = "food_flour.png",
 | 
			
		||||
		groups = {food_flour = 1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:flour",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"group:food_wheat"},
 | 
			
		||||
			{"group:food_wheat"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:flour",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:sand"},
 | 
			
		||||
			{"default:sand"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("potato",function()
 | 
			
		||||
	minetest.register_craftitem("food:potato", {
 | 
			
		||||
		description = S("Potato"),
 | 
			
		||||
		inventory_image = "food_potato.png",
 | 
			
		||||
		groups = {food_potato = 1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:potato",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:dirt"},
 | 
			
		||||
			{"default:apple"}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("tomato",function()
 | 
			
		||||
	minetest.register_craftitem("food:tomato", {
 | 
			
		||||
		description = S("Tomato"),
 | 
			
		||||
		inventory_image = "food_tomato.png",
 | 
			
		||||
		groups = {food_tomato = 1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:tomato",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"", "default:desert_sand", ""},
 | 
			
		||||
			{"default:desert_sand", "", "default:desert_sand"},
 | 
			
		||||
			{"", "default:desert_sand", ""}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("carrot",function()
 | 
			
		||||
	minetest.register_craftitem("food:carrot", {
 | 
			
		||||
		description = S("Carrot"),
 | 
			
		||||
		inventory_image = "food_carrot.png",
 | 
			
		||||
		groups = {food_carrot=1},
 | 
			
		||||
		on_use = food.item_eat(3)
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:carrot",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:apple","default:apple","default:apple"},
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("milk",function()
 | 
			
		||||
	minetest.register_craftitem("food:milk", {
 | 
			
		||||
		description = S("Milk"),
 | 
			
		||||
		image = "food_milk.png",
 | 
			
		||||
		on_use = food.item_eat(1),
 | 
			
		||||
		groups = { eatable=1, food_milk = 1 },
 | 
			
		||||
		stack_max=10
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:milk",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:sand"},
 | 
			
		||||
			{"bucket:bucket_water"}
 | 
			
		||||
		},
 | 
			
		||||
		replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}},
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("egg",function()
 | 
			
		||||
	minetest.register_craftitem("food:egg",{
 | 
			
		||||
		description = S("Egg"),
 | 
			
		||||
		inventory_image = "food_egg.png",
 | 
			
		||||
		groups = {food_egg=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:egg",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"", "default:sand", ""},
 | 
			
		||||
			{"default:sand", "", "default:sand"},
 | 
			
		||||
			{"", "default:sand", ""}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("cocoa",function()
 | 
			
		||||
	minetest.register_craftitem("food:cocoa", {
 | 
			
		||||
		description = S("Cocoa Bean"),
 | 
			
		||||
		inventory_image = "food_cocoa.png",
 | 
			
		||||
		groups = {food_cocoa=1}
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:cocoa",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"","default:apple",""},
 | 
			
		||||
			{"default:apple","","default:apple"},
 | 
			
		||||
			{"","default:apple",""}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("meat_raw",function()
 | 
			
		||||
	minetest.register_craftitem("food:meat_raw", {
 | 
			
		||||
		description = S("Raw meat"),
 | 
			
		||||
		image = "food_meat_raw.png",
 | 
			
		||||
		on_use = food.item_eat(1),
 | 
			
		||||
		groups = { meat=1, eatable=1, food_meat_raw=1 },
 | 
			
		||||
		stack_max=25
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:meat_raw",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:apple"},
 | 
			
		||||
			{"default:dirt"}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("meat",function()
 | 
			
		||||
	minetest.register_craftitem("food:meat", {
 | 
			
		||||
		description = S("Venison"),
 | 
			
		||||
		inventory_image = "food_meat.png",
 | 
			
		||||
		groups = {food_meat=1,food_chicken=1}
 | 
			
		||||
	})
 | 
			
		||||
	
 | 
			
		||||
	food.craft({
 | 
			
		||||
		type = "cooking",
 | 
			
		||||
		output = "food:meat",
 | 
			
		||||
		recipe = "group:food_meat_raw",
 | 
			
		||||
		cooktime = 30
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
food.asupport("sugar",function()
 | 
			
		||||
	minetest.register_craftitem("food:sugar", {
 | 
			
		||||
		description = S("Sugar"),
 | 
			
		||||
		inventory_image = "food_sugar.png",
 | 
			
		||||
		groups = {food_sugar=1}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		output = "food:sugar 20",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"default:papyrus"},
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
if (minetest.get_modpath("animalmaterials") and not minetest.get_modpath("mobfcooking")) then
 | 
			
		||||
	food.craft({
 | 
			
		||||
		type = "cooking",
 | 
			
		||||
		output = "food:meat",
 | 
			
		||||
		recipe = "group:food_meat_raw",
 | 
			
		||||
		cooktime = 30
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Register chocolate powder	
 | 
			
		||||
minetest.register_craftitem("food:chocolate_powder", {
 | 
			
		||||
	description = S("Chocolate Powder"),
 | 
			
		||||
	inventory_image = "food_chocolate_powder.png",
 | 
			
		||||
	groups = {food_choco_powder = 1}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	output = "food:chocolate_powder 16",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"group:food_cocoa","group:food_cocoa","group:food_cocoa"},
 | 
			
		||||
		{"group:food_cocoa","group:food_cocoa","group:food_cocoa"},
 | 
			
		||||
		{"group:food_cocoa","group:food_cocoa","group:food_cocoa"}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Register dark chocolate
 | 
			
		||||
minetest.register_craftitem("food: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({
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:dark_chocolate",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"group:food_cocoa","group:food_cocoa","group:food_cocoa"}
 | 
			
		||||
		}
 | 
			
		||||
})
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
-- Register milk chocolate
 | 
			
		||||
minetest.register_craftitem("food: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({
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:milk_chocolate",
 | 
			
		||||
		recipe = {
 | 
			
		||||
				{"","group:food_milk",""},
 | 
			
		||||
				{"group:food_cocoa","group:food_cocoa","group:food_cocoa"}
 | 
			
		||||
		}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Register pasta
 | 
			
		||||
minetest.register_craftitem("food:pasta",{
 | 
			
		||||
	description = S("Pasta"),
 | 
			
		||||
	inventory_image = "food_pasta.png",
 | 
			
		||||
	groups = {food_pasta=1}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	output = "food:pasta 4",
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	recipe = {"group:food_flour","group:food_egg","group:food_egg"}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Register bowl
 | 
			
		||||
minetest.register_craftitem("food:bowl",{
 | 
			
		||||
	description = S("Bowl"),
 | 
			
		||||
	inventory_image = "food_bowl.png",
 | 
			
		||||
	groups = {food_bowl=1}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	output = "food:bowl",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"default:clay_lump","","default:clay_lump"},
 | 
			
		||||
		{"","default:clay_lump",""}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
-- Register butter
 | 
			
		||||
minetest.register_craftitem("food:butter", {
 | 
			
		||||
	description = S("Butter"),
 | 
			
		||||
	inventory_image = "food_butter.png",
 | 
			
		||||
	groups = {food_butter=1}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	output = "food:butter",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"group:food_milk","group:food_milk"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Register cheese
 | 
			
		||||
minetest.register_craftitem("food:cheese", {
 | 
			
		||||
	description = S("Cheese"),
 | 
			
		||||
	inventory_image = "food_cheese.png",
 | 
			
		||||
	on_use = food.item_eat(4),
 | 
			
		||||
	groups = {food_cheese=1}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	output = "food:cheese",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"group:food_butter","group:food_butter"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
-- Register baked potato
 | 
			
		||||
minetest.register_craftitem("food: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({
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		type = "cooking",
 | 
			
		||||
		output = "food:baked_potato",
 | 
			
		||||
		recipe = "group:food_potato",
 | 
			
		||||
})
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
-- Register pasta bake
 | 
			
		||||
minetest.register_craftitem("food: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",{
 | 
			
		||||
	})
 | 
			
		||||
	minetest.register_craftitem("food:pasta_bake_raw",{
 | 
			
		||||
		description = S("Raw Pasta Bake"),
 | 
			
		||||
		inventory_image = "food_pasta_bake_raw.png",
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:pasta_bake",
 | 
			
		||||
		type = "cooking",
 | 
			
		||||
	 	recipe = "food:pasta_bake_raw"
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	})
 | 
			
		||||
	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"}
 | 
			
		||||
	{"tomato", "tomato"},
 | 
			
		||||
	{"chicken", "meat"}
 | 
			
		||||
}
 | 
			
		||||
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",
 | 
			
		||||
@@ -520,18 +121,19 @@ for i=1, #soups do
 | 
			
		||||
			},
 | 
			
		||||
			replacements = {{"bucket:bucket_water", "bucket:bucket_empty"},{"bucket:bucket_water", "bucket:bucket_empty"}}
 | 
			
		||||
		})
 | 
			
		||||
	end)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Juices
 | 
			
		||||
local juices = {"apple","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.craft({
 | 
			
		||||
			output = "food:"..flav.."_juice 4",
 | 
			
		||||
			recipe = {
 | 
			
		||||
@@ -540,25 +142,38 @@ for i=1, #juices do
 | 
			
		||||
				{"","group:food_cup",""},
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
	end)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("food:rainbow_juice", {
 | 
			
		||||
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.craft({
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:rainbow_juice 99",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"","",""},
 | 
			
		||||
			{"","default:nyancat_rainbow",""},
 | 
			
		||||
			{"","group:food_cup",""},
 | 
			
		||||
		}
 | 
			
		||||
})
 | 
			
		||||
	})
 | 
			
		||||
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
 | 
			
		||||
minetest.register_node("food:cake", {
 | 
			
		||||
food.module("cake", function()
 | 
			
		||||
	minetest.register_node("food:cake", {
 | 
			
		||||
		description = S("Cake"),
 | 
			
		||||
		on_use = food.item_eat(4),
 | 
			
		||||
		groups={food=3,crumbly=3},
 | 
			
		||||
@@ -574,16 +189,29 @@ minetest.register_node("food:cake", {
 | 
			
		||||
		sunlight_propagates = true,
 | 
			
		||||
		drawtype="nodebox",
 | 
			
		||||
		paramtype = "light",
 | 
			
		||||
	node_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {
 | 
			
		||||
			{-0.250000,-0.500000,-0.296880,0.250000,-0.250000,0.312502}, --NodeBox 1
 | 
			
		||||
			{-0.309375,-0.500000,-0.250000,0.309375,-0.250000,0.250000}, --NodeBox 2
 | 
			
		||||
			{-0.250000,-0.250000,-0.250000,0.250000,-0.200000,0.250000}, --NodeBox 3
 | 
			
		||||
		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"},
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("food:cake_choco", {
 | 
			
		||||
	})
 | 
			
		||||
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},
 | 
			
		||||
@@ -599,16 +227,29 @@ minetest.register_node("food:cake_choco", {
 | 
			
		||||
		sunlight_propagates = true,
 | 
			
		||||
		drawtype="nodebox",
 | 
			
		||||
		paramtype = "light",
 | 
			
		||||
	node_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {
 | 
			
		||||
			{-0.250000,-0.500000,-0.296880,0.250000,-0.250000,0.312502}, --NodeBox 1
 | 
			
		||||
			{-0.309375,-0.500000,-0.250000,0.309375,-0.250000,0.250000}, --NodeBox 2
 | 
			
		||||
			{-0.250000,-0.250000,-0.250000,0.250000,-0.200000,0.250000}, --NodeBox 3
 | 
			
		||||
		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"},
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
minetest.register_node("food:cake_carrot", {
 | 
			
		||||
	})
 | 
			
		||||
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},
 | 
			
		||||
@@ -624,66 +265,24 @@ minetest.register_node("food:cake_carrot", {
 | 
			
		||||
		},
 | 
			
		||||
		drawtype="nodebox",
 | 
			
		||||
		paramtype = "light",
 | 
			
		||||
	node_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {
 | 
			
		||||
			{-0.250000,-0.500000,-0.296880,0.250000,-0.250000,0.312502}, --NodeBox 1
 | 
			
		||||
			{-0.309375,-0.500000,-0.250000,0.309375,-0.250000,0.250000}, --NodeBox 2
 | 
			
		||||
			{-0.250000,-0.250000,-0.250000,0.250000,-0.200000,0.250000}, --NodeBox 3
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	type = "cooking",
 | 
			
		||||
	output = "food:cake",
 | 
			
		||||
	recipe = "food:cakemix_plain",
 | 
			
		||||
	cooktime = 10,
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	type = "cooking",
 | 
			
		||||
	output = "food:cake_choco",
 | 
			
		||||
	recipe = "food:cakemix_choco",
 | 
			
		||||
	cooktime = 10,
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
		node_box = food.cake_box
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		type = "cooking",
 | 
			
		||||
		output = "food:cake_carrot",
 | 
			
		||||
		recipe = "food:cakemix_carrot",
 | 
			
		||||
		cooktime = 10,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- Cake mix
 | 
			
		||||
minetest.register_craftitem("food:cakemix_plain",{
 | 
			
		||||
	description = S("Cake Mix"),
 | 
			
		||||
	inventory_image = "food_cakemix_plain.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("food:cakemix_choco",{
 | 
			
		||||
	description = S("Chocolate Cake Mix"),
 | 
			
		||||
	inventory_image = "food_cakemix_choco.png",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craftitem("food:cakemix_carrot",{
 | 
			
		||||
	})
 | 
			
		||||
	minetest.register_craftitem("food:cakemix_carrot",{
 | 
			
		||||
		description = S("Carrot Cake Mix"),
 | 
			
		||||
		inventory_image = "food_cakemix_carrot.png",
 | 
			
		||||
})
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "food:cakemix_plain",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"group:food_flour","group:food_sugar","group:food_egg"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	output = "food:cakemix_choco",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{"","group:food_choco_powder",""},
 | 
			
		||||
		{"group:food_flour","group:food_sugar","group:food_egg"},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
food.craft({
 | 
			
		||||
	})
 | 
			
		||||
	food.craft({
 | 
			
		||||
		output = "food:cakemix_carrot",
 | 
			
		||||
		recipe = {
 | 
			
		||||
			{"","group:food_carrot",""},
 | 
			
		||||
			{"group:food_flour","group:food_sugar","group:food_egg"},
 | 
			
		||||
		}
 | 
			
		||||
})
 | 
			
		||||
	})
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										52
									
								
								support.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								support.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
 -- FOOD MOD
 | 
			
		||||
-- A mod written by rubenwardy that adds
 | 
			
		||||
-- food to the minetest game
 | 
			
		||||
-- =====================================
 | 
			
		||||
-- >> food/support.lua
 | 
			
		||||
-- Support external mods
 | 
			
		||||
-- =====================================
 | 
			
		||||
 | 
			
		||||
-- Add support for other mods
 | 
			
		||||
food.support("wheat", "farming:wheat")
 | 
			
		||||
food.support("flour", "farming:flour")
 | 
			
		||||
food.support("cocoa", "farming_plus:cocoa_bean")
 | 
			
		||||
food.support("cup", "vessels:drinking_glass")
 | 
			
		||||
food.support("potato", {
 | 
			
		||||
	"docfarming:potato",
 | 
			
		||||
	"veggies:potato",
 | 
			
		||||
	"farming_plus:potato_item"
 | 
			
		||||
})
 | 
			
		||||
food.support("tomato", {
 | 
			
		||||
	"farming_plus:tomato_item",
 | 
			
		||||
	"plantlib:tomato"
 | 
			
		||||
})
 | 
			
		||||
food.support("carrot", {
 | 
			
		||||
	"farming_plus:carrot_item",
 | 
			
		||||
	"docfarming:carrot",
 | 
			
		||||
	"plantlib:carrot",
 | 
			
		||||
	"jkfarming:carrot"
 | 
			
		||||
})
 | 
			
		||||
food.support("milk", {
 | 
			
		||||
	"animalmaterials:milk",
 | 
			
		||||
	"my_mobs:milk_glass_cup",
 | 
			
		||||
	"jkanimals:bucket_milk"
 | 
			
		||||
})
 | 
			
		||||
food.support("egg", {
 | 
			
		||||
	"animalmaterials:egg",
 | 
			
		||||
	"animalmaterials:egg_big",
 | 
			
		||||
	"jkanimals:egg"
 | 
			
		||||
})
 | 
			
		||||
food.support("meat", {
 | 
			
		||||
	"mobs:meat",
 | 
			
		||||
	"jkanimals:meat",
 | 
			
		||||
	"mobfcooking:cooked_pork",
 | 
			
		||||
	"mobfcooking:cooked_beef",
 | 
			
		||||
	"mobfcooking:cooked_chicken",
 | 
			
		||||
	"mobfcooking:cooked_lamb",
 | 
			
		||||
	"mobfcooking:cooked_venison"
 | 
			
		||||
})
 | 
			
		||||
food.support("sugar", {
 | 
			
		||||
	"jkfarming:sugar",
 | 
			
		||||
	"bushes:sugar"
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user