},
drop = "",
sounds = main.woolSound(),
- groups = {wool=1,cake=i,falling_node=1,satiation=5,hunger=3},
+ groups = {wool=1,cake=i,falling_node=1},
on_construct = function(pos)
--randomly cake eats itself
if math.random() > 0.995 then
inventory_image = "wheat_harvested.png",
})
-
-minetest.register_craftitem("farming:bread", {
+minetest.register_food("farming:bread",{
description = "Bread",
- inventory_image = "bread.png",
- groups = {satiation=3,hunger=3},
+ texture = "bread.png",
+ satiation=2,
+ hunger=2,
})
-minetest.register_craftitem("farming:toast", {
+minetest.register_food("farming:toast",{
description = "Toast",
- inventory_image = "bread.png^[colorize:black:100",
- groups = {satiation=4,hunger=4},
+ texture = "bread.png^[colorize:black:100",
+ satiation=4,
+ hunger=4,
})
minetest.register_craft({
seed_inventory_image = "melon_seeds.png",
seed_plants = "farming:melon_stem_1",
})
-minetest.register_craftitem("farming:melon_slice", {
+
+minetest.register_food("farming:melon_slice",{
description = "Melon Slice",
- inventory_image = "melon_slice.png",
- groups = {satiation=1,hunger=2},
+ texture = "melon_slice.png",
+ satiation=1,
+ hunger=2,
})
-
minetest.register_plant("pumpkin_stem", {
description = "Pumpkin Stem",
drawtype = "plantlike",
recipe = "farming:pumpkin",
burntime = 3,
})
+
minetest.register_craft({
type = "cooking",
output = "farming:pumpkin_pie",
recipe = "farming:pumpkin",
cooktime = 2,
})
-minetest.register_craftitem("farming:pumpkin_pie", {
+
+
+minetest.register_food("farming:pumpkin_pie",{
description = "Pumpkin Pie",
- inventory_image = "pumpkin_pie.png",
- groups = {satiation=4,hunger=3},
+ texture = "pumpkin_pie.png",
+ satiation=4,
+ hunger=3,
})
-
minetest.register_decoration({
name = "farming:sugarcane",
deco_type = "simple",
recipe = "fishing:fish",
})
-minetest.register_craftitem("fishing:fish", {
+minetest.register_food("fishing:fish",{
description = "Raw Fish",
- inventory_image = "fish.png",
- groups = {satiation=1,hunger=2},
+ texture = "fish.png",
+ satiation=1,
+ hunger=2,
})
-minetest.register_craftitem("fishing:fish_cooked", {
+
+minetest.register_food("fishing:fish_cooked",{
description = "Cooked Fish",
- inventory_image = "fish_cooked.png",
- groups = {satiation=3,hunger=5},
+ texture = "fish_cooked.png",
+ satiation=3,
+ hunger=5,
})
\ No newline at end of file
stack:take_item()
player:set_wielded_item(stack)
end
+
+
+function minetest.register_food(name,def)
+ minetest.register_craftitem(":"..name, {
+ description = def.description,
+ inventory_image = def.texture,
+ groups = {satiation=def.satiation,hunger=def.hunger},
+ })
+
+ minetest.register_node(":"..name.."node", {
+ description = "NIL",
+ tiles = {def.texture},
+ groups = {},
+ drop = "",
+ drawtype = "allfaces",
+ on_construct = function(pos)
+ minetest.remove_node(pos)
+ end,
+ })
+end
+
+minetest.register_chatcommand("hungry", {
+ params = "<mob>",
+ description = "A debug command to test food",
+ privs = {server = true},
+ func = function(name)
+ local player = minetest.get_player_by_name(name)
+ local meta = player:get_meta()
+ meta:set_int("exhaustion_tick", 0)
+ meta:set_int("hunger", 1)
+ meta:set_int("satiation", 0)
+ local hunger_bar = meta:get_int("hunger_bar")
+ player:hud_change(hunger_bar, "number", 1)
+ end
+})
+++ /dev/null
-minetest.register_node("item_cannon:item_cannon", {
- description = "Item Cannon",
- paramtype = "light",
- paramtype2 = "facedir",
- tiles = {"bed_top.png^[transform1","wood.png","bed_side.png","bed_side.png^[transform4","bed_front.png","nothing.png"},
- groups = {wood = 1, hard = 1, axe = 1, hand = 3, instant=1,bouncy=50,attached_node=1},
- sounds = main.woodSound({placing=""}),
- drawtype = "nodebox",
- node_box = {
- type = "fixed",
- fixed = {
- {-0.5, -5/16, -0.5, 0.5, 0.06, 0.5},
- {-0.5, -0.5, 0.5, -5/16, -5/16, 5/16},
- {0.5, -0.5, 0.5, 5/16, -5/16, 5/16},
- },
- },
- node_placement_prediction = "",
- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- local param2 = minetest.get_node(pos).param2
- local dir = minetest.facedir_to_dir(param2)
- dir.y = 0.5
-
- local obj = minetest.add_item(pos,itemstack:get_name())
- if obj then
- local vel = vector.multiply(dir,30)
- obj:set_velocity(vel)
- itemstack:take_item(1)
- minetest.sound_play("tnt_explode", {pos = pos, gain = 1.0})
- return(itemstack)
- end
- end,
-})
--- /dev/null
+hunger
\ No newline at end of file
--item definition
-minetest.register_craftitem("main:apple", {
+minetest.register_food("main:apple",{
description = "Apple",
- inventory_image = "apple.png",
- groups = {satiation=1,hunger=2},
+ texture = "apple.png",
+ satiation=1,
+ hunger=2,
})
-minetest.register_craftitem("main:sugar", {
+minetest.register_food("main:sugar",{
description = "Sugar",
- inventory_image = "sugar.png",
- groups = {satiation=1,hunger=1},
+ texture = "sugar.png",
+ satiation=1,
+ hunger=1,
})
minetest.register_craftitem("main:stick", {
--- /dev/null
+hunger
\ No newline at end of file
--items
-minetest.register_craftitem("mob:raw_porkchop", {
+minetest.register_food("mob:raw_porkchop",{
description = "Raw Porkchop",
- inventory_image = "raw_porkchop.png",
- groups = {satiation=1,hunger=2},
+ texture = "raw_porkchop.png",
+ satiation=1,
+ hunger=2,
})
-minetest.register_craftitem("mob:cooked_porkchop", {
+
+
+minetest.register_food("mob:cooked_porkchop",{
description = "Cooked Porkchop",
- inventory_image = "cooked_porkchop.png",
- groups = {satiation=3,hunger=5},
+ texture = "cooked_porkchop.png",
+ satiation=3,
+ hunger=5,
})
+
minetest.register_craftitem("mob:slimeball", {
description = "Slimeball",
inventory_image = "slimeball.png",
description = "String",
inventory_image = "string.png",
})
+
--cooking
minetest.register_craft({
type = "cooking",
maxacc = {x=0, y=-9.81, z=1},
minexptime = 0.5,
maxexptime = 1.5,
- minsize = 0.5,
- maxsize = 1,
+ minsize = 0,
+ maxsize = 0,
attached = player,
collisiondetection = true,
collision_removal = true,
vertical = false,
- texture = "eat_particles_1.png"
+ node = {name= item.."node"},
+ --texture = "eat_particles_1.png"
})
-
+
+ --[[
+ minetest.add_particlespawner({
+ amount = 30,
+ time = 0.0001,
+ minpos = {x=pos.x-0.5, y=pos.y-0.5+y, z=pos.z-0.5},
+ maxpos = {x=pos.x+0.5, y=pos.y+0.5+y, z=pos.z+0.5},
+ minvel = vector.new(-1,0,-1),
+ maxvel = vector.new(1,0,1),
+ minacc = {x=0, y=-9.81, z=0},
+ maxacc = {x=0, y=-9.81, z=0},
+ minexptime = 0.5,
+ maxexptime = 1.5,
+ minsize = 0,
+ maxsize = 0,
+ collisiondetection = true,
+ vertical = false,
+ node = {name= "name"},
+ })
+ ]]--
+
if eating_timer + dtime > 0.25 then
minetest.sound_play("eat", {
to_player = player:get_player_name(),