From b7538bb64d0b66f5e6b2ea1aff33a74a767a1286 Mon Sep 17 00:00:00 2001
From: teknomunk <teknomunk@protonmail.com>
Date: Thu, 23 Jan 2025 06:52:30 -0600
Subject: [PATCH] Fix mesecon.on_placenode to work with functions

---
 mods/ITEMS/REDSTONE/mesecons/services.lua | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/mods/ITEMS/REDSTONE/mesecons/services.lua b/mods/ITEMS/REDSTONE/mesecons/services.lua
index 7d1fce2d8..d13c6091e 100644
--- a/mods/ITEMS/REDSTONE/mesecons/services.lua
+++ b/mods/ITEMS/REDSTONE/mesecons/services.lua
@@ -21,7 +21,13 @@ function mesecon.on_placenode(pos, node)
 			end
 			mesecon.receptor_on (pos, mesecon.conductor_get_rules(node))
 		elseif mesecon.is_conductor_on(node) then
-			minetest.swap_node(pos, {name = mesecon.get_conductor_off(node)})
+			local offstate = mesecon.get_conductor_off(node)
+			if type(offstate) == "function" then
+				local res = offstate(pos, node)
+				core.swap_node(pos, {name = res[1], param2 = res[2]})
+			else
+				core.swap_node(pos, {name = offstate})
+			end
 		end
 	end