From b4654cedb77b435857649e01545bb9e507ff6dae Mon Sep 17 00:00:00 2001
From: Uberi <azhang9@gmail.com>
Date: Sat, 30 Nov 2013 21:23:39 -0500
Subject: Compat shim for minetest.swap_node, lightstone conducts from the
 bottom.

---
 mesecons_lightstone/init.lua | 40 +++++++++++++++++++++++++++++-----------
 1 file changed, 29 insertions(+), 11 deletions(-)

(limited to 'mesecons_lightstone')

diff --git a/mesecons_lightstone/init.lua b/mesecons_lightstone/init.lua
index 5d47e1b..7bb550d 100644
--- a/mesecons_lightstone/init.lua
+++ b/mesecons_lightstone/init.lua
@@ -1,15 +1,32 @@
+local lightstone_rules = {
+	{x=0,  y=0,  z=-1},
+	{x=1,  y=0,  z=0},
+	{x=-1, y=0,  z=0},
+	{x=0,  y=0,  z=1},
+	{x=1,  y=1,  z=0},
+	{x=1,  y=-1, z=0},
+	{x=-1, y=1,  z=0},
+	{x=-1, y=-1, z=0},
+	{x=0,  y=1,  z=1},
+	{x=0,  y=-1, z=1},
+	{x=0,  y=1,  z=-1},
+	{x=0,  y=-1, z=-1},
+	{x=0,  y=-1, z=0},
+}
+
 function mesecon:lightstone_add(name, base_item, texture_off, texture_on)
 	minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_off", {
-	tiles = {texture_off},
-	groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
-	description=name.." Lightstone",
-	sounds = default.node_sound_stone_defaults(),
-	mesecons = {effector = {
-		action_on = function (pos, node)
-			minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_on", param2 = node.param2})
-		end
-	}}
-    })
+		tiles = {texture_off},
+		groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
+		description=name.." Lightstone",
+		sounds = default.node_sound_stone_defaults(),
+		mesecons = {effector = {
+			rules = lightstone_rules,
+			action_on = function (pos, node)
+				minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_on", param2 = node.param2})
+			end,
+		}}
+	})
 	minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_on", {
 	tiles = {texture_on},
 	groups = {cracky=2,not_in_creative_inventory=1, mesecon = 2},
@@ -17,9 +34,10 @@ function mesecon:lightstone_add(name, base_item, texture_off, texture_on)
 	light_source = LIGHT_MAX-2,
 	sounds = default.node_sound_stone_defaults(),
 	mesecons = {effector = {
+		rules = lightstone_rules,
 		action_off = function (pos, node)
 			minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_off", param2 = node.param2})
-		end
+		end,
 	}}
 	})
 
-- 
cgit v1.2.3