mirror of
				https://github.com/minetest-mods/mesecons.git
				synced 2025-10-30 02:55:19 +01:00 
			
		
		
		
	Don't totally force deactivation of block two below the pressure plate if connected to a receptor
This commit is contained in:
		| @@ -17,12 +17,15 @@ pp_on_timer = function (pos, elapsed) | |||||||
| 	if not ppspec then return end | 	if not ppspec then return end | ||||||
|  |  | ||||||
| 	local objs   = minetest.env:get_objects_inside_radius(pos, 1) | 	local objs   = minetest.env:get_objects_inside_radius(pos, 1) | ||||||
|  | 	local two_below = mesecon:addPosRule(pos, {x = 0, y = -2, z = 0}) | ||||||
|  |  | ||||||
| 	if objs[1] == nil and node.name == ppspec.onstate then | 	if objs[1] == nil and node.name == ppspec.onstate then | ||||||
| 		minetest.env:add_node(pos, {name = ppspec.offstate}) | 		minetest.env:add_node(pos, {name = ppspec.offstate}) | ||||||
| 		mesecon:receptor_off(pos) | 		mesecon:receptor_off(pos) | ||||||
| 		-- force deactivation of mesecon two blocks below (hacky) | 		-- force deactivation of mesecon two blocks below (hacky) | ||||||
| 		mesecon:turnoff(mesecon:addPosRule(pos, {x = 0, y = -2, z = 0})) | 		if not mesecon:connected_to_receptor(two_below) then | ||||||
|  | 			mesecon:turnoff(two_below) | ||||||
|  | 		end | ||||||
| 	else | 	else | ||||||
| 		for k, obj in pairs(objs) do | 		for k, obj in pairs(objs) do | ||||||
| 			local objpos = obj:getpos() | 			local objpos = obj:getpos() | ||||||
| @@ -30,7 +33,7 @@ pp_on_timer = function (pos, elapsed) | |||||||
| 				minetest.env:add_node(pos, {name=ppspec.onstate}) | 				minetest.env:add_node(pos, {name=ppspec.onstate}) | ||||||
| 				mesecon:receptor_on(pos) | 				mesecon:receptor_on(pos) | ||||||
| 				-- force activation of mesecon two blocks below (hacky) | 				-- force activation of mesecon two blocks below (hacky) | ||||||
| 				mesecon:turnon(mesecon:addPosRule(pos, {x = 0, y = -2, z = 0})) | 				mesecon:turnon(two_below) | ||||||
| 			end | 			end | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user