forked from Mirrorlandia_minetest/mesecons
Compat shim for minetest.swap_node, lightstone conducts from the bottom.
This commit is contained in:
parent
3105ae7084
commit
b4654cedb7
@ -0,0 +1,5 @@
|
|||||||
|
minetest.swap_node = minetest.swap_node or function(pos, node)
|
||||||
|
local data = minetest.get_meta(pos):to_table()
|
||||||
|
minetest.add_node(pos, node)
|
||||||
|
minetest.get_meta(pos):from_table(data)
|
||||||
|
end
|
@ -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)
|
function mesecon:lightstone_add(name, base_item, texture_off, texture_on)
|
||||||
minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_off", {
|
minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_off", {
|
||||||
tiles = {texture_off},
|
tiles = {texture_off},
|
||||||
groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
|
groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
|
||||||
description=name.." Lightstone",
|
description=name.." Lightstone",
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
rules = lightstone_rules,
|
||||||
minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_on", param2 = node.param2})
|
action_on = function (pos, node)
|
||||||
end
|
minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_on", param2 = node.param2})
|
||||||
}}
|
end,
|
||||||
})
|
}}
|
||||||
|
})
|
||||||
minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_on", {
|
minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_on", {
|
||||||
tiles = {texture_on},
|
tiles = {texture_on},
|
||||||
groups = {cracky=2,not_in_creative_inventory=1, mesecon = 2},
|
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,
|
light_source = LIGHT_MAX-2,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = default.node_sound_stone_defaults(),
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
|
rules = lightstone_rules,
|
||||||
action_off = function (pos, node)
|
action_off = function (pos, node)
|
||||||
minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_off", param2 = node.param2})
|
minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_off", param2 = node.param2})
|
||||||
end
|
end,
|
||||||
}}
|
}}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user