forked from minetest-mods/mesecons
		
	Fix active button staying on forever (#355)
This commit is contained in:
		| @@ -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({ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user