forked from nalc/homedecor_modpack
Merge pull request #314 from t4im/fix/itemstack
Various maintenance and fixes
This commit is contained in:
commit
957ff25b9f
|
@ -70,7 +70,7 @@ minetest.register_node("chains:chain_top_brass", {
|
||||||
minetest.register_node("chains:chandelier", {
|
minetest.register_node("chains:chandelier", {
|
||||||
description = "Chandelier (wrought iron)",
|
description = "Chandelier (wrought iron)",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
light_source = LIGHT_MAX-2,
|
light_source = default.LIGHT_MAX-2,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
climbable = true,
|
climbable = true,
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
|
@ -97,7 +97,7 @@ minetest.register_node("chains:chandelier", {
|
||||||
minetest.register_node("chains:chandelier_brass", {
|
minetest.register_node("chains:chandelier_brass", {
|
||||||
description = "Chandelier (brass)",
|
description = "Chandelier (brass)",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
light_source = LIGHT_MAX-2,
|
light_source = default.LIGHT_MAX-2,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
climbable = true,
|
climbable = true,
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
|
|
|
@ -29,6 +29,7 @@ minetest.register_node("computer:vanio", {
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack)
|
||||||
node.name = "computer:vanio_off"
|
node.name = "computer:vanio_off"
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -48,6 +49,7 @@ minetest.register_node("computer:vanio_off", {
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack)
|
||||||
node.name = "computer:vanio"
|
node.name = "computer:vanio"
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -168,6 +170,7 @@ minetest.register_node("computer:monitor", {
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack)
|
||||||
node.name = "computer:monitor_on"
|
node.name = "computer:monitor_on"
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -186,6 +189,7 @@ minetest.register_node("computer:monitor_on", {
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack)
|
||||||
node.name = "computer:monitor"
|
node.name = "computer:monitor"
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -294,12 +298,13 @@ minetest.register_node("computer:server", {
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack)
|
||||||
node.name = "computer:server_on"
|
node.name = "computer:server_on"
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
local pos = pointed_thing.above
|
local pos = pointed_thing.above
|
||||||
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
||||||
minetest.chat_send_player( placer:get_player_name(), "Not enough vertical space to place a server!" )
|
minetest.chat_send_player( placer:get_player_name(), "Not enough vertical space to place a server!" )
|
||||||
return
|
return itemstack
|
||||||
end
|
end
|
||||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||||
end
|
end
|
||||||
|
@ -333,5 +338,6 @@ minetest.register_node("computer:server_on", {
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack)
|
||||||
node.name = "computer:server"
|
node.name = "computer:server"
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
|
@ -27,11 +27,12 @@ computer.register = function (name, def)
|
||||||
node_box = def.node_box,
|
node_box = def.node_box,
|
||||||
selection_box = def.node_box,
|
selection_box = def.node_box,
|
||||||
on_rightclick = function (pos, node, clicker, itemstack)
|
on_rightclick = function (pos, node, clicker, itemstack)
|
||||||
if (def.on_turn_off) then
|
if def.on_turn_off and def.on_turn_off(pos, node, clicker, itemstack) then
|
||||||
if (def.on_turn_off(pos, node, clicker, itemstack)) then return end
|
return itemstack
|
||||||
end
|
end
|
||||||
node.name = OFFSTATE
|
node.name = OFFSTATE
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
minetest.register_node(OFFSTATE, {
|
minetest.register_node(OFFSTATE, {
|
||||||
|
@ -50,11 +51,12 @@ computer.register = function (name, def)
|
||||||
node_box = def.node_box_off or def.node_box,
|
node_box = def.node_box_off or def.node_box,
|
||||||
selection_box = def.node_box_off or def.node_box,
|
selection_box = def.node_box_off or def.node_box,
|
||||||
on_rightclick = function (pos, node, clicker, itemstack)
|
on_rightclick = function (pos, node, clicker, itemstack)
|
||||||
if (def.on_turn_on) then
|
if def.on_turn_on and def.on_turn_on(pos, node, clicker, itemstack) then
|
||||||
if (def.on_turn_on(pos, node, clicker, itemstack)) then return end
|
return itemstack
|
||||||
end
|
end
|
||||||
node.name = ONSTATE
|
node.name = ONSTATE
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
drop = ONSTATE
|
drop = ONSTATE
|
||||||
})
|
})
|
||||||
|
|
|
@ -276,7 +276,8 @@ minetest.register_node("computer:tetris_arcade", {
|
||||||
end
|
end
|
||||||
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
||||||
minetest.chat_send_player(placer:get_player_name(), "No room for place the Arcade!")
|
minetest.chat_send_player(placer:get_player_name(), "No room for place the Arcade!")
|
||||||
return end
|
return itemstack
|
||||||
|
end
|
||||||
local dir = placer:get_look_dir()
|
local dir = placer:get_look_dir()
|
||||||
local node = {name="computer:tetris_arcade", param1=0, param2 = minetest.dir_to_facedir(dir)}
|
local node = {name="computer:tetris_arcade", param1=0, param2 = minetest.dir_to_facedir(dir)}
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
|
|
@ -84,8 +84,9 @@ for _, f in ipairs(flame_types) do
|
||||||
{name=f.."_fire_animated.png", animation={type="vertical_frames",
|
{name=f.."_fire_animated.png", animation={type="vertical_frames",
|
||||||
aspect_w=16, aspect_h=16, length=1.5}},
|
aspect_w=16, aspect_h=16, length=1.5}},
|
||||||
},
|
},
|
||||||
on_rightclick = function (pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
start_smoke(pos, node, clicker)
|
start_smoke(pos, node, clicker)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_destruct = function (pos)
|
on_destruct = function (pos)
|
||||||
stop_smoke(pos)
|
stop_smoke(pos)
|
||||||
|
@ -113,8 +114,9 @@ minetest.register_node("fake_fire:fancy_fire", {
|
||||||
tiles = {
|
tiles = {
|
||||||
{name="fake_fire_animated.png",
|
{name="fake_fire_animated.png",
|
||||||
animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}},
|
animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}},
|
||||||
on_rightclick = function (pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
start_smoke(pos, node, clicker)
|
start_smoke(pos, node, clicker)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_destruct = function (pos)
|
on_destruct = function (pos)
|
||||||
stop_smoke(pos)
|
stop_smoke(pos)
|
||||||
|
@ -161,9 +163,10 @@ for _, m in ipairs(materials) do
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||||
},
|
},
|
||||||
on_rightclick = function (pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local chimney = 1
|
local chimney = 1
|
||||||
start_smoke(pos, node, clicker, chimney)
|
start_smoke(pos, node, clicker, chimney)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_destruct = function (pos)
|
on_destruct = function (pos)
|
||||||
stop_smoke(pos)
|
stop_smoke(pos)
|
||||||
|
|
|
@ -114,7 +114,7 @@ homedecor.register("sink", {
|
||||||
|
|
||||||
--Taps
|
--Taps
|
||||||
|
|
||||||
local function taps_on_rightclick(pos, node, clicker)
|
local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||||
if below and
|
if below and
|
||||||
below.name == "homedecor:shower_tray" or
|
below.name == "homedecor:shower_tray" or
|
||||||
|
@ -129,6 +129,7 @@ local function taps_on_rightclick(pos, node, clicker)
|
||||||
}
|
}
|
||||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
|
|
||||||
homedecor.register("taps", {
|
homedecor.register("taps", {
|
||||||
|
@ -225,7 +226,7 @@ homedecor.register("shower_head", {
|
||||||
selection_box = sh_cbox,
|
selection_box = sh_cbox,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
on_rotate = screwdriver.disallow,
|
on_rotate = screwdriver.disallow,
|
||||||
on_rightclick = function (pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
|
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
|
||||||
if below and below.name == "homedecor:shower_tray" then
|
if below and below.name == "homedecor:shower_tray" then
|
||||||
local particledef = {
|
local particledef = {
|
||||||
|
@ -237,6 +238,7 @@ homedecor.register("shower_head", {
|
||||||
}
|
}
|
||||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_shower")
|
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_shower")
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_destruct = function(pos)
|
on_destruct = function(pos)
|
||||||
homedecor.stop_particle_spawner(pos)
|
homedecor.stop_particle_spawner(pos)
|
||||||
|
|
|
@ -79,10 +79,11 @@ for i in ipairs(bedcolors) do
|
||||||
after_dig_node = function(pos)
|
after_dig_node = function(pos)
|
||||||
homedecor.unextend_bed(pos, color)
|
homedecor.unextend_bed(pos, color)
|
||||||
end,
|
end,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if minetest.get_modpath("beds") then
|
if minetest.get_modpath("beds") then
|
||||||
beds.on_rightclick(pos, clicker)
|
beds.on_rightclick(pos, clicker)
|
||||||
else return end
|
end
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -104,10 +105,11 @@ for i in ipairs(bedcolors) do
|
||||||
after_dig_node = function(pos)
|
after_dig_node = function(pos)
|
||||||
homedecor.unextend_bed(pos, color)
|
homedecor.unextend_bed(pos, color)
|
||||||
end,
|
end,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if minetest.get_modpath("beds") then
|
if minetest.get_modpath("beds") then
|
||||||
beds.on_rightclick(pos, clicker)
|
beds.on_rightclick(pos, clicker)
|
||||||
else return end
|
end
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
drop = "homedecor:bed_"..color.."_regular"
|
drop = "homedecor:bed_"..color.."_regular"
|
||||||
})
|
})
|
||||||
|
@ -137,10 +139,11 @@ for i in ipairs(bedcolors) do
|
||||||
inv:add_item("main", "homedecor:bed_"..color.."_regular 2")
|
inv:add_item("main", "homedecor:bed_"..color.."_regular 2")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if minetest.get_modpath("beds") then
|
if minetest.get_modpath("beds") then
|
||||||
beds.on_rightclick(pos, clicker)
|
beds.on_rightclick(pos, clicker)
|
||||||
else return end
|
end
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ for c in ipairs(bookcolors) do
|
||||||
drop = "homedecor:book_"..color,
|
drop = "homedecor:book_"..color,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
on_dig = book_dig,
|
on_dig = book_dig,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local player_name = clicker:get_player_name()
|
local player_name = clicker:get_player_name()
|
||||||
local title = meta:get_string("title") or ""
|
local title = meta:get_string("title") or ""
|
||||||
|
@ -136,6 +136,7 @@ for c in ipairs(bookcolors) do
|
||||||
end
|
end
|
||||||
player_current_book[player_name] = pos
|
player_current_book[player_name] = pos
|
||||||
minetest.show_formspec(player_name, BOOK_FORMNAME, formspec)
|
minetest.show_formspec(player_name, BOOK_FORMNAME, formspec)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_punch = function(pos, node, puncher, pointed_thing)
|
on_punch = function(pos, node, puncher, pointed_thing)
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
|
|
|
@ -111,7 +111,7 @@ homedecor.register("ceiling_fan", {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
groups = { snappy = 3 },
|
groups = { snappy = 3 },
|
||||||
light_source = LIGHT_MAX-1,
|
light_source = default.LIGHT_MAX-1,
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -252,8 +252,9 @@ for i in ipairs(sides) do
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
minetest.get_meta(pos):set_int("closed", 1)
|
minetest.get_meta(pos):set_int("closed", 1)
|
||||||
end,
|
end,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
homedecor.flip_door(pos, node, clicker, doorname, side)
|
homedecor.flip_door(pos, node, clicker, doorname, side)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
-- both left and right doors may be used for open or closed doors
|
-- both left and right doors may be used for open or closed doors
|
||||||
-- so they have to have both action_on and action_off and just
|
-- so they have to have both action_on and action_off and just
|
||||||
|
@ -385,8 +386,9 @@ for i in ipairs(gates_list) do
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = gate_models_closed[i]
|
fixed = gate_models_closed[i]
|
||||||
},
|
},
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
homedecor.flip_gate(pos, node, clicker, gate, "closed")
|
homedecor.flip_gate(pos, node, clicker, gate, "closed")
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
mesecons = {
|
mesecons = {
|
||||||
effector = {
|
effector = {
|
||||||
|
@ -413,8 +415,9 @@ for i in ipairs(gates_list) do
|
||||||
tiles[3]
|
tiles[3]
|
||||||
}
|
}
|
||||||
def.drop = "homedecor:gate_"..gate.."_closed"
|
def.drop = "homedecor:gate_"..gate.."_closed"
|
||||||
def.on_rightclick = function(pos, node, clicker)
|
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
homedecor.flip_gate(pos, node, clicker, gate, "open")
|
homedecor.flip_gate(pos, node, clicker, gate, "open")
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
def.mesecons.effector = {
|
def.mesecons.effector = {
|
||||||
action_off = function(pos,node) homedecor.flip_gate(pos,node,player,gate, "open") end
|
action_off = function(pos,node) homedecor.flip_gate(pos,node,player,gate, "open") end
|
||||||
|
@ -605,8 +608,9 @@ homedecor.register("door_japanese_closed", {
|
||||||
fixed = {-0.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
fixed = {-0.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
||||||
},
|
},
|
||||||
expand = { top = "placeholder" },
|
expand = { top = "placeholder" },
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
minetest.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
|
minetest.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -628,8 +632,9 @@ homedecor.register("door_japanese_open", {
|
||||||
fixed = {-1.5, -0.5, -0.0625, -0.5, 1.5, 0},
|
fixed = {-1.5, -0.5, -0.0625, -0.5, 1.5, 0},
|
||||||
},
|
},
|
||||||
expand = { top = "placeholder" },
|
expand = { top = "placeholder" },
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
minetest.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
|
minetest.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
drop = "homedecor:door_japanese_closed",
|
drop = "homedecor:door_japanese_closed",
|
||||||
})
|
})
|
||||||
|
|
|
@ -84,9 +84,10 @@ for i in ipairs(chaircolors) do
|
||||||
collision_box = kc_cbox,
|
collision_box = kc_cbox,
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
pos.y = pos.y+0 -- where do I put my ass ?
|
pos.y = pos.y+0 -- where do I put my ass ?
|
||||||
homedecor.sit(pos, node, clicker)
|
homedecor.sit(pos, node, clicker)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -169,7 +169,7 @@ homedecor.register("toaster", {
|
||||||
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
|
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
minetest.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
|
minetest.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
|
||||||
minetest.sound_play("toaster", {
|
minetest.sound_play("toaster", {
|
||||||
|
@ -177,6 +177,7 @@ homedecor.register("toaster", {
|
||||||
gain = 1.0,
|
gain = 1.0,
|
||||||
max_hear_distance = 5
|
max_hear_distance = 5
|
||||||
})
|
})
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -199,9 +200,10 @@ homedecor.register("toaster_loaf", {
|
||||||
{0.0625, -0.3125, -0.0935, 0.0935, -0.25, 0.0935}, -- NodeBox3
|
{0.0625, -0.3125, -0.0935, 0.0935, -0.25, 0.0935}, -- NodeBox3
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
minetest.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
|
minetest.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
drop = "homedecor:toaster"
|
drop = "homedecor:toaster"
|
||||||
})
|
})
|
||||||
|
|
|
@ -117,7 +117,7 @@ homedecor.register("kitchen_faucet", {
|
||||||
selection_box = kf_cbox,
|
selection_box = kf_cbox,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
on_rotate = screwdriver.disallow,
|
on_rotate = screwdriver.disallow,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||||
if below and
|
if below and
|
||||||
below.name == "homedecor:sink" or
|
below.name == "homedecor:sink" or
|
||||||
|
@ -131,6 +131,7 @@ homedecor.register("kitchen_faucet", {
|
||||||
}
|
}
|
||||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_destruct = homedecor.stop_particle_spawner
|
on_destruct = homedecor.stop_particle_spawner
|
||||||
})
|
})
|
||||||
|
|
|
@ -179,8 +179,9 @@ homedecor.register("fishtank", {
|
||||||
collision_box = ft_cbox,
|
collision_box = ft_cbox,
|
||||||
groups = {cracky=3,oddly_breakable_by_hand=3},
|
groups = {cracky=3,oddly_breakable_by_hand=3},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
minetest.set_node(pos, {name = "homedecor:fishtank_lighted", param2 = node.param2})
|
minetest.set_node(pos, {name = "homedecor:fishtank_lighted", param2 = node.param2})
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -195,14 +196,15 @@ homedecor.register("fishtank_lighted", {
|
||||||
"homedecor_fishtank_water_top_lighted.png",
|
"homedecor_fishtank_water_top_lighted.png",
|
||||||
"homedecor_fishtank_sides_lighted.png",
|
"homedecor_fishtank_sides_lighted.png",
|
||||||
},
|
},
|
||||||
light_source = LIGHT_MAX-4,
|
light_source = default.LIGHT_MAX-4,
|
||||||
use_texture_alpha = true,
|
use_texture_alpha = true,
|
||||||
selection_box = ft_cbox,
|
selection_box = ft_cbox,
|
||||||
collision_box = ft_cbox,
|
collision_box = ft_cbox,
|
||||||
groups = {cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
|
groups = {cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
minetest.set_node(pos, {name = "homedecor:fishtank", param2 = node.param2})
|
minetest.set_node(pos, {name = "homedecor:fishtank", param2 = node.param2})
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
drop = "homedecor:fishtank",
|
drop = "homedecor:fishtank",
|
||||||
})
|
})
|
||||||
|
|
|
@ -81,10 +81,11 @@ homedecor.register("calendar", {
|
||||||
legacy_wallmounted = true,
|
legacy_wallmounted = true,
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = default.node_sound_defaults(),
|
||||||
infotext = "Date (right-click to update):\n" .. os.date("%Y-%m-%d"), -- ISO 8601 format
|
infotext = "Date (right-click to update):\n" .. os.date("%Y-%m-%d"), -- ISO 8601 format
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local date = os.date("%Y-%m-%d")
|
local date = os.date("%Y-%m-%d")
|
||||||
meta:set_string("infotext", "Date (right-click to update):\n"..date)
|
meta:set_string("infotext", "Date (right-click to update):\n"..date)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -125,12 +125,13 @@ for c in ipairs(curtaincolors) do
|
||||||
paramtype2 = 'wallmounted',
|
paramtype2 = 'wallmounted',
|
||||||
selection_box = { type = "wallmounted" },
|
selection_box = { type = "wallmounted" },
|
||||||
-- Open the curtains
|
-- Open the curtains
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
||||||
if string.find(topnode.name, "homedecor:curtainrod") then
|
if string.find(topnode.name, "homedecor:curtainrod") then
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
minetest.set_node(pos, { name = "homedecor:curtain_open_"..color, param2 = fdir })
|
minetest.set_node(pos, { name = "homedecor:curtain_open_"..color, param2 = fdir })
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -147,12 +148,13 @@ for c in ipairs(curtaincolors) do
|
||||||
paramtype2 = 'wallmounted',
|
paramtype2 = 'wallmounted',
|
||||||
selection_box = { type = "wallmounted" },
|
selection_box = { type = "wallmounted" },
|
||||||
-- Close the curtains
|
-- Close the curtains
|
||||||
on_rightclick = function(pos, node, clicker, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
||||||
if string.find(topnode.name, "homedecor:curtainrod") then
|
if string.find(topnode.name, "homedecor:curtainrod") then
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
minetest.set_node(pos, { name = "homedecor:curtain_"..color, param2 = fdir })
|
minetest.set_node(pos, { name = "homedecor:curtain_"..color, param2 = fdir })
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -57,12 +57,14 @@ minetest.register_node("inbox:empty", {
|
||||||
"default:chest_locked",
|
"default:chest_locked",
|
||||||
inbox.get_inbox_insert_formspec(pos))
|
inbox.get_inbox_insert_formspec(pos))
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
can_dig = function(pos,player)
|
can_dig = function(pos,player)
|
||||||
local meta = minetest.get_meta(pos);
|
local meta = minetest.get_meta(pos);
|
||||||
|
local name = player and player:get_player_name()
|
||||||
local owner = meta:get_string("owner")
|
local owner = meta:get_string("owner")
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
return player:get_player_name() == owner and inv:is_empty("main")
|
return player == owner and inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
|
|
@ -141,9 +141,9 @@ minetest.register_node("itemframes:frame",{
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
can_dig = function(pos,player)
|
can_dig = function(pos,player)
|
||||||
|
local name = player and player:get_player_name()
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
return player:get_player_name() == meta:get_string("owner")
|
return name == meta:get_string("owner")
|
||||||
end,
|
end,
|
||||||
on_destruct = function(pos)
|
on_destruct = function(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
@ -198,9 +198,9 @@ minetest.register_node("itemframes:pedestal",{
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
can_dig = function(pos,player)
|
can_dig = function(pos,player)
|
||||||
|
local name = player and player:get_player_name()
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
return player:get_player_name() == meta:get_string("owner")
|
return name == meta:get_string("owner")
|
||||||
end,
|
end,
|
||||||
on_destruct = function(pos)
|
on_destruct = function(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
|
|
@ -39,9 +39,10 @@ for i in ipairs(lavalamps_list) do
|
||||||
},
|
},
|
||||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
node.name = "lavalamp:"..colour.."_off"
|
node.name = "lavalamp:"..colour.."_off"
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -64,9 +65,10 @@ for i in ipairs(lavalamps_list) do
|
||||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1},
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
drop = "lavalamp:"..colour,
|
drop = "lavalamp:"..colour,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
node.name = "lavalamp:"..colour
|
node.name = "lavalamp:"..colour
|
||||||
minetest.set_node(pos, node)
|
minetest.set_node(pos, node)
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -24,13 +24,14 @@ for i in ipairs(lrfurn.colors) do
|
||||||
groups = {snappy=3},
|
groups = {snappy=3},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
node_box = armchair_cbox,
|
node_box = armchair_cbox,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if not clicker:is_player() then
|
if not clicker:is_player() then
|
||||||
return
|
return itemstack
|
||||||
end
|
end
|
||||||
pos.y = pos.y-0.5
|
pos.y = pos.y-0.5
|
||||||
clicker:setpos(pos)
|
clicker:setpos(pos)
|
||||||
clicker:set_hp(20)
|
clicker:set_hp(20)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -46,13 +46,14 @@ for i in ipairs(lrfurn.colors) do
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if not clicker:is_player() then
|
if not clicker:is_player() then
|
||||||
return
|
return itemstack
|
||||||
end
|
end
|
||||||
pos.y = pos.y-0.5
|
pos.y = pos.y-0.5
|
||||||
clicker:setpos(pos)
|
clicker:setpos(pos)
|
||||||
clicker:set_hp(20)
|
clicker:set_hp(20)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -48,13 +48,14 @@ for i in ipairs(lrfurn.colors) do
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if not clicker:is_player() then
|
if not clicker:is_player() then
|
||||||
return
|
return itemstack
|
||||||
end
|
end
|
||||||
pos.y = pos.y-0.5
|
pos.y = pos.y-0.5
|
||||||
clicker:setpos(pos)
|
clicker:setpos(pos)
|
||||||
clicker:set_hp(20)
|
clicker:set_hp(20)
|
||||||
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user