215 lines
5.4 KiB
Lua
215 lines
5.4 KiB
Lua
local hmod = minetest.get_modpath("hunger")
|
|
local hbmod = minetest.get_modpath("hbhunger")
|
|
|
|
local replace_pie = function(node, puncher, pos)
|
|
|
|
if minetest.is_protected(pos, puncher:get_player_name()) then
|
|
return
|
|
end
|
|
|
|
local pie = node.name:split("_")[1]
|
|
local num = tonumber(node.name:split("_")[2])
|
|
|
|
if num == 3 then
|
|
node.name = "air"
|
|
elseif num < 3 then
|
|
node.name = pie .. "_" .. (num + 1)
|
|
end
|
|
|
|
if hmod then
|
|
local h = hunger.read(puncher)
|
|
--print ("hunger is "..h)
|
|
h = math.min(h + 4, 30)
|
|
local ok = hunger.update_hunger(puncher, h)
|
|
minetest.sound_play("hunger_eat", {
|
|
pos = pos, gain = 0.7, hear_distance = 5})
|
|
elseif hbmod then
|
|
local h = tonumber(hbhunger.hunger[puncher:get_player_name()])
|
|
--print ("hbhunger is "..h)
|
|
h = math.min(h + 4, 30)
|
|
hbhunger.hunger[puncher:get_player_name()] = h
|
|
minetest.sound_play("hbhunger_eat_generic", {
|
|
pos = pos, gain = 0.7, hear_distance = 5})
|
|
else
|
|
local h = puncher:get_hp()
|
|
--print ("health is "..h)
|
|
h = math.min(h + 4, 20)
|
|
puncher:set_hp(h)
|
|
end
|
|
|
|
minetest.swap_node(pos, {name = node.name})
|
|
|
|
end
|
|
|
|
local register_pie = function(pie, desc)
|
|
|
|
minetest.register_node("pie:"..pie.."_0", {
|
|
description = desc,
|
|
paramtype = "light",
|
|
sunlight_propagates = false,
|
|
tiles = {
|
|
pie.."_top.png", pie.."_bottom.png", pie.."_side.png",
|
|
pie.."_side.png", pie.."_side.png", pie.."_side.png"
|
|
},
|
|
inventory_image = pie.."_inv.png",
|
|
wield_image = pie.."_inv.png",
|
|
groups = {},
|
|
drawtype = "nodebox",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {{-0.45, -0.5, -0.45, 0.45, 0, 0.45}},
|
|
},
|
|
on_punch = function(pos, node, puncher, pointed_thing)
|
|
replace_pie(node, puncher, pos)
|
|
end,
|
|
})
|
|
|
|
minetest.register_node("pie:"..pie.."_1", {
|
|
description = "3/4"..desc,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
tiles = {
|
|
pie.."_top.png", pie.."_bottom.png", pie.."_side.png",
|
|
pie.."_side.png", pie.."_side.png", pie.."_inside.png"
|
|
},
|
|
groups = {not_in_creative_inventory = 1},
|
|
drawtype = "nodebox",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {{-0.45, -0.5, -0.25, 0.45, 0, 0.45}},
|
|
},
|
|
on_punch = function(pos, node, puncher, pointed_thing)
|
|
replace_pie(node, puncher, pos)
|
|
end,
|
|
})
|
|
|
|
minetest.register_node("pie:"..pie.."_2", {
|
|
description = "Half "..desc,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
tiles = {
|
|
pie.."_top.png", pie.."_bottom.png", pie.."_side.png",
|
|
pie.."_side.png", pie.."_side.png", pie.."_inside.png"
|
|
},
|
|
groups = {not_in_creative_inventory = 1},
|
|
drawtype = "nodebox",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {{-0.45, -0.5, 0.0, 0.45, 0, 0.45}},
|
|
},
|
|
on_punch = function(pos, node, puncher, pointed_thing)
|
|
replace_pie(node, puncher, pos)
|
|
end,
|
|
})
|
|
|
|
minetest.register_node("pie:"..pie.."_3", {
|
|
description = "Piece of "..desc,
|
|
paramtype = "light",
|
|
sunlight_propagates = true,
|
|
tiles = {
|
|
pie.."_top.png", pie.."_bottom.png", pie.."_side.png",
|
|
pie.."_side.png", pie.."_side.png", pie.."_inside.png"
|
|
},
|
|
groups = {not_in_creative_inventory = 1},
|
|
drawtype = "nodebox",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {{-0.45, -0.5, 0.25, 0.45, 0, 0.45}},
|
|
},
|
|
on_punch = function(pos, node, puncher, pointed_thing)
|
|
replace_pie(node, puncher, pos)
|
|
end,
|
|
})
|
|
|
|
end
|
|
|
|
-- Normal Cake
|
|
register_pie("pie", "Cake")
|
|
|
|
minetest.register_craft({
|
|
output = "pie:pie_0",
|
|
recipe = {
|
|
{"farming:sugar", "mobs:bucket_milk", "farming:sugar"},
|
|
{"farming:sugar", "mobs:egg", "farming:sugar"},
|
|
{"farming:wheat", "farming:flour", "farming:wheat"},
|
|
},
|
|
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
|
})
|
|
|
|
-- Chocolate Cake
|
|
register_pie("choc", "Chocolate Cake")
|
|
|
|
minetest.register_craft({
|
|
output = "pie:choc_0",
|
|
recipe = {
|
|
{"farming:cocoa_beans", "mobs:bucket_milk", "farming:cocoa_beans"},
|
|
{"farming:sugar", "mobs:egg", "farming:sugar"},
|
|
{"farming:wheat", "farming:flour", "farming:wheat"},
|
|
},
|
|
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
|
})
|
|
|
|
-- Strawberry Cheesecake
|
|
register_pie("scsk", "Strawberry Cheesecake")
|
|
|
|
minetest.register_craft({
|
|
output = "pie:scsk_0",
|
|
recipe = {
|
|
{"ethereal:strawberry", "mobs:bucket_milk", "ethereal:strawberry"},
|
|
{"farming:sugar", "mobs:egg", "farming:sugar"},
|
|
{"farming:wheat", "farming:flour", "farming:wheat"},
|
|
},
|
|
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
|
})
|
|
|
|
-- Coffee Cake
|
|
register_pie("coff", "Coffee Cake")
|
|
|
|
minetest.register_craft({
|
|
output = "pie:coff_0",
|
|
recipe = {
|
|
{"farming:coffee_beans", "mobs:bucket_milk", "farming:coffee_beans"},
|
|
{"farming:sugar", "mobs:egg", "farming:sugar"},
|
|
{"farming:wheat", "farming:flour", "farming:wheat"},
|
|
},
|
|
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
|
})
|
|
|
|
-- Red Velvet Cake
|
|
register_pie("rvel", "Red Velvet Cake")
|
|
|
|
minetest.register_craft({
|
|
output = "pie:rvel_0",
|
|
recipe = {
|
|
{"farming:cocoa_beans", "mobs:bucket_milk", "dye:red"},
|
|
{"farming:sugar", "mobs:egg", "farming:sugar"},
|
|
{"farming:flour", "mobs:cheese", "farming:flour"},
|
|
},
|
|
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
|
})
|
|
|
|
-- Meat Cake
|
|
register_pie("meat", "Meat Cake")
|
|
|
|
minetest.register_craft({
|
|
output = "pie:meat_0",
|
|
recipe = {
|
|
{"mobs:meat_raw", "mobs:egg", "mobs:meat_raw"},
|
|
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
|
{"", "", ""}
|
|
},
|
|
})
|
|
|
|
-- Banana Cake
|
|
register_pie("bana", "Banana Cake")
|
|
|
|
minetest.register_craft({
|
|
output = "pie:bana_0",
|
|
recipe = {
|
|
{"ethereal:banana", "mobs:bucket_milk", "ethereal:banana"},
|
|
{"farming:sugar", "mobs:egg", "farming:sugar"},
|
|
{"farming:wheat", "farming:flour", "farming:wheat"},
|
|
},
|
|
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
|
})
|