|
4 | 4 |
|
5 | 5 | mesecon.button_turnoff = function (pos)
|
6 | 6 | 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 |
12 | 9 | 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) |
13 | 14 | end
|
14 | 15 |
|
15 | 16 | minetest.register_node("mesecons_button:button_off", {
|
@@ -45,7 +46,7 @@ minetest.register_node("mesecons_button:button_off", {
|
45 | 46 | minetest.swap_node(pos, {name = "mesecons_button:button_on", param2=node.param2})
|
46 | 47 | mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
|
47 | 48 | minetest.sound_play("mesecons_button_push", {pos=pos})
|
48 |
| - minetest.after(1, mesecon.button_turnoff, pos) |
| 49 | + minetest.get_node_timer(pos):start(1) |
49 | 50 | end,
|
50 | 51 | sounds = default.node_sound_stone_defaults(),
|
51 | 52 | mesecons = {receptor = {
|
@@ -89,7 +90,8 @@ minetest.register_node("mesecons_button:button_on", {
|
89 | 90 | mesecons = {receptor = {
|
90 | 91 | state = mesecon.state.on,
|
91 | 92 | rules = mesecon.rules.buttonlike_get
|
92 |
| - }} |
| 93 | + }}, |
| 94 | + on_timer = mesecon.button_turnoff, |
93 | 95 | })
|
94 | 96 |
|
95 | 97 | minetest.register_craft({
|
|
0 commit comments