Skip to content

Commit 36a6419

Browse files
DesournumberZero
authored andcommittedSep 3, 2017
Fix active button staying on forever (#355)
1 parent 564bdc2 commit 36a6419

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed
 

Diff for: ‎mesecons_button/init.lua

+9-7
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44

55
mesecon.button_turnoff = function (pos)
66
local node = minetest.get_node(pos)
7-
if node.name=="mesecons_button:button_on" then --has not been dug
8-
minetest.swap_node(pos, {name = "mesecons_button:button_off", param2=node.param2})
9-
minetest.sound_play("mesecons_button_pop", {pos=pos})
10-
local rules = mesecon.rules.buttonlike_get(node)
11-
mesecon.receptor_off(pos, rules)
7+
if node.name ~= "mesecons_button:button_on" then -- has been dug
8+
return
129
end
10+
minetest.swap_node(pos, {name = "mesecons_button:button_off", param2 = node.param2})
11+
minetest.sound_play("mesecons_button_pop", {pos = pos})
12+
local rules = mesecon.rules.buttonlike_get(node)
13+
mesecon.receptor_off(pos, rules)
1314
end
1415

1516
minetest.register_node("mesecons_button:button_off", {
@@ -45,7 +46,7 @@ minetest.register_node("mesecons_button:button_off", {
4546
minetest.swap_node(pos, {name = "mesecons_button:button_on", param2=node.param2})
4647
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
4748
minetest.sound_play("mesecons_button_push", {pos=pos})
48-
minetest.after(1, mesecon.button_turnoff, pos)
49+
minetest.get_node_timer(pos):start(1)
4950
end,
5051
sounds = default.node_sound_stone_defaults(),
5152
mesecons = {receptor = {
@@ -89,7 +90,8 @@ minetest.register_node("mesecons_button:button_on", {
8990
mesecons = {receptor = {
9091
state = mesecon.state.on,
9192
rules = mesecon.rules.buttonlike_get
92-
}}
93+
}},
94+
on_timer = mesecon.button_turnoff,
9395
})
9496

9597
minetest.register_craft({

0 commit comments

Comments
 (0)
Please sign in to comment.