Skip to content
Snippets Groups Projects
Commit a8957157 authored by Jeija's avatar Jeija
Browse files

Prepare trapdoors code for merging, make trapdoors always toggle their

state when the mesecons signal changes, no matter what state they're in
parent 94604e89
No related branches found
No related tags found
No related merge requests found
......@@ -51,39 +51,30 @@ meseconify_door("doors:door_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
local function trapdoor_switch(pos, node)
local state = minetest.get_meta(pos):get_int("state")
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}
minetest.set_node(pos, {name="doors:trapdoor", param2 = node.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}
minetest.set_node(pos, {name="doors:trapdoor_open", param2 = node.param2})
end
minetest.set_node(pos, tmp_node)
meta:set_int("state", state)
minetest.get_meta(pos):set_int("state", state == 1 and 0 or 1)
end
minetest.override_item("doors:trapdoor", {
mesecons = {effector = {
action_on = function(pos)
punch(pos)
end,
rules = mesecon.rules.pplate
action_on = trapdoor_switch,
action_off = trapdoor_switch
}},
})
minetest.override_item("doors:trapdoor_open", {
mesecons = {effector = {
action_off = function(pos)
punch(pos)
end,
rules = mesecon.rules.pplate
action_on = trapdoor_switch,
action_off = trapdoor_switch
}},
})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment