Add trapdoor to mesecons_doors

This commit is contained in:
MT-Modder 2015-02-02 19:20:44 -05:00
parent ac0e062281
commit 94604e890c

View File

@ -6,9 +6,9 @@ local function on_rightclick(pos, dir, check_name, replace, replace_dir, params)
end end
local p2 = minetest.get_node(pos).param2 local p2 = minetest.get_node(pos).param2
p2 = params[p2 + 1] p2 = params[p2 + 1]
minetest.swap_node(pos, {name = replace_dir, param2 = p2}) minetest.swap_node(pos, {name = replace_dir, param2 = p2})
pos.y = pos.y - dir pos.y = pos.y - dir
minetest.swap_node(pos, {name = replace, param2 = p2}) minetest.swap_node(pos, {name = replace, param2 = p2})
@ -49,3 +49,41 @@ meseconify_door("doors:door_wood")
meseconify_door("doors:door_steel") meseconify_door("doors:door_steel")
meseconify_door("doors:door_glass") meseconify_door("doors:door_glass")
meseconify_door("doors:door_obsidian_glass") meseconify_door("doors:door_obsidian_glass")
-- Trapdoor
local function punch(pos)
local meta = minetest.get_meta(pos)
local state = meta:get_int("state")
local me = minetest.get_node(pos)
local tmp_node
local tmp_node2
if state == 1 then
state = 0
minetest.sound_play("doors_door_close", {pos = pos, gain = 0.3, max_hear_distance = 10})
tmp_node = {name="doors:trapdoor", param1=me.param1, param2=me.param2}
else
state = 1
minetest.sound_play("doors_door_open", {pos = pos, gain = 0.3, max_hear_distance = 10})
tmp_node = {name="doors:trapdoor_open", param1=me.param1, param2=me.param2}
end
minetest.set_node(pos, tmp_node)
meta:set_int("state", state)
end
minetest.override_item("doors:trapdoor", {
mesecons = {effector = {
action_on = function(pos)
punch(pos)
end,
rules = mesecon.rules.pplate
}},
})
minetest.override_item("doors:trapdoor_open", {
mesecons = {effector = {
action_off = function(pos)
punch(pos)
end,
rules = mesecon.rules.pplate
}},
})