forked from minetest-mods/mesecons
		
	New effector system, effectors have to be registered with mesecon:register_effector(onstate, offstate, rules, function get_rules) rules and function get_rules are optional. You don't have to specify both onstate and offstate (required for e.g. removestone)
This commit is contained in:
		| @@ -115,55 +115,45 @@ end) | ||||
|  | ||||
| mesecon.delayer_update = function(pos, node) | ||||
| 	if string.find(node.name, "mesecons_delayer:delayer_off")~=nil then | ||||
| 		local input_rules = mesecon.delayer_get_input_rules(node.param2)[1] | ||||
| 		np = {x = pos.x + input_rules.x, y = pos.y + input_rules.y, z = pos.z + input_rules.z} | ||||
|  | ||||
| 		if mesecon:is_power_on(np) then | ||||
| 			local time = 0 | ||||
| 			if node.name=="mesecons_delayer:delayer_off_1" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_1", param2=node.param2}) | ||||
| 				time=0.1 | ||||
| 			end | ||||
| 			if node.name=="mesecons_delayer:delayer_off_2" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_2", param2=node.param2}) | ||||
| 				time=0.3 | ||||
| 			end | ||||
| 			if node.name=="mesecons_delayer:delayer_off_3" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_3", param2=node.param2}) | ||||
| 				time=0.5 | ||||
| 			end | ||||
| 			if node.name=="mesecons_delayer:delayer_off_4" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_4", param2=node.param2}) | ||||
| 				time=1 | ||||
| 			end | ||||
| 			minetest.after(time, mesecon.delayer_turnon, {pos=pos, param2=node.param2}) | ||||
| 		local time = 0 | ||||
| 		if node.name=="mesecons_delayer:delayer_off_1" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_1", param2=node.param2}) | ||||
| 			time=0.1 | ||||
| 		end | ||||
| 		if node.name=="mesecons_delayer:delayer_off_2" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_2", param2=node.param2}) | ||||
| 			time=0.3 | ||||
| 		end | ||||
| 		if node.name=="mesecons_delayer:delayer_off_3" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_3", param2=node.param2}) | ||||
| 			time=0.5 | ||||
| 		end | ||||
| 		if node.name=="mesecons_delayer:delayer_off_4" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_on_4", param2=node.param2}) | ||||
| 			time=1 | ||||
| 		end | ||||
| 		minetest.after(time, mesecon.delayer_turnon, {pos=pos, param2=node.param2}) | ||||
| 	end | ||||
|  | ||||
| 	if string.find(node.name, "mesecons_delayer:delayer_on")~=nil then | ||||
| 		local input_rules = mesecon.delayer_get_input_rules(node.param2)[1] | ||||
| 		np = {x = pos.x + input_rules.x, y = pos.y + input_rules.y, z = pos.z + input_rules.z} | ||||
|  | ||||
| 		if not mesecon:is_power_on(np) then | ||||
| 			local time = 0 | ||||
| 			if node.name=="mesecons_delayer:delayer_on_1" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_1", param2=node.param2}) | ||||
| 				time=0.1 | ||||
| 			end | ||||
| 			if node.name=="mesecons_delayer:delayer_on_2" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_2", param2=node.param2}) | ||||
| 				time=0.3 | ||||
| 			end | ||||
| 			if node.name=="mesecons_delayer:delayer_on_3" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_3", param2=node.param2}) | ||||
| 				time=0.5 | ||||
| 			end | ||||
| 			if node.name=="mesecons_delayer:delayer_on_4" then | ||||
| 				minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_4", param2=node.param2}) | ||||
| 				time=1 | ||||
| 			end | ||||
| 			minetest.after(time, mesecon.delayer_turnoff, {pos=pos, param2=node.param2}) | ||||
| 		local time = 0 | ||||
| 		if node.name=="mesecons_delayer:delayer_on_1" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_1", param2=node.param2}) | ||||
| 			time=0.1 | ||||
| 		end | ||||
| 		if node.name=="mesecons_delayer:delayer_on_2" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_2", param2=node.param2}) | ||||
| 			time=0.3 | ||||
| 		end | ||||
| 		if node.name=="mesecons_delayer:delayer_on_3" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_3", param2=node.param2}) | ||||
| 			time=0.5 | ||||
| 		end | ||||
| 		if node.name=="mesecons_delayer:delayer_on_4" then | ||||
| 			minetest.env:add_node(pos, {name="mesecons_delayer:delayer_off_4", param2=node.param2}) | ||||
| 			time=1 | ||||
| 		end | ||||
| 		minetest.after(time, mesecon.delayer_turnoff, {pos=pos, param2=node.param2}) | ||||
| 	end | ||||
| end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user