summaryrefslogtreecommitdiff
path: root/mesecons_lightstone
diff options
context:
space:
mode:
authorUberi <azhang9@gmail.com>2013-11-30 21:23:39 -0500
committerUberi <azhang9@gmail.com>2013-11-30 21:23:58 -0500
commitb4654cedb77b435857649e01545bb9e507ff6dae (patch)
tree992dacedd226329c61a27ae308340bc0eafa891e /mesecons_lightstone
parent3105ae7084552a512ddd4f90a5f454c044a135ca (diff)
downloadmesecons-b4654cedb77b435857649e01545bb9e507ff6dae.tar
mesecons-b4654cedb77b435857649e01545bb9e507ff6dae.tar.gz
mesecons-b4654cedb77b435857649e01545bb9e507ff6dae.tar.bz2
mesecons-b4654cedb77b435857649e01545bb9e507ff6dae.tar.xz
mesecons-b4654cedb77b435857649e01545bb9e507ff6dae.zip
Compat shim for minetest.swap_node, lightstone conducts from the bottom.
Diffstat (limited to 'mesecons_lightstone')
-rw-r--r--mesecons_lightstone/init.lua40
1 files changed, 29 insertions, 11 deletions
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,
}}
})