diff options
| author | DS <vorunbekannt75@web.de> | 2017-09-03 20:27:31 +0200 | 
|---|---|---|
| committer | Vitaliy <silverunicorn2011@yandex.ru> | 2017-09-03 21:27:31 +0300 | 
| commit | 36a6419481599c5b5ae2b43697722108fbc1d63d (patch) | |
| tree | 8e23539e3cef8ba563deefad8f1318bb93d4cbea /mesecons_button | |
| parent | 564bdc2d9b0f265b4286b3caaf8a9059953ce08b (diff) | |
Fix active button staying on forever (#355)
Diffstat (limited to 'mesecons_button')
| -rw-r--r-- | mesecons_button/init.lua | 16 | 
1 files changed, 9 insertions, 7 deletions
| diff --git a/mesecons_button/init.lua b/mesecons_button/init.lua index 11c328c..c67c149 100644 --- a/mesecons_button/init.lua +++ b/mesecons_button/init.lua @@ -4,12 +4,13 @@  mesecon.button_turnoff = function (pos)  	local node = minetest.get_node(pos) -	if node.name=="mesecons_button:button_on" then --has not been dug -		minetest.swap_node(pos, {name = "mesecons_button:button_off", param2=node.param2}) -		minetest.sound_play("mesecons_button_pop", {pos=pos}) -		local rules = mesecon.rules.buttonlike_get(node) -		mesecon.receptor_off(pos, rules) +	if node.name ~= "mesecons_button:button_on" then -- has been dug +		return  	end +	minetest.swap_node(pos, {name = "mesecons_button:button_off", param2 = node.param2}) +	minetest.sound_play("mesecons_button_pop", {pos = pos}) +	local rules = mesecon.rules.buttonlike_get(node) +	mesecon.receptor_off(pos, rules)  end  minetest.register_node("mesecons_button:button_off", { @@ -45,7 +46,7 @@ minetest.register_node("mesecons_button:button_off", {  		minetest.swap_node(pos, {name = "mesecons_button:button_on", param2=node.param2})  		mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))  		minetest.sound_play("mesecons_button_push", {pos=pos}) -		minetest.after(1, mesecon.button_turnoff, pos) +		minetest.get_node_timer(pos):start(1)  	end,  	sounds = default.node_sound_stone_defaults(),  	mesecons = {receptor = { @@ -89,7 +90,8 @@ minetest.register_node("mesecons_button:button_on", {  	mesecons = {receptor = {  		state = mesecon.state.on,  		rules = mesecon.rules.buttonlike_get -	}} +	}}, +	on_timer = mesecon.button_turnoff,  })  minetest.register_craft({ | 
