Code: Select all
local on_light_puncher = function (pos, node, puncher)
if node.name == 'lightsplus:light' then
minetest.env:add_node(pos, {name="lightsplus:light_on"})
nodeupdate(pos)
elseif node.name == 'lightsplus:light_on' then
minetest.env:add_node(pos, {name="lightsplus:light",})
nodeupdate(pos)
end
if node.name == 'lightsplus:slab_light' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_on"})
nodeupdate(pos)
elseif node.name == 'lightsplus:slab_light_on' then
minetest.env:add_node(pos, {name="lightsplus:slab_light",})
nodeupdate(pos)
end
if node.name == 'lightsplus:slab_light_inv' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_inv_on"})
nodeupdate(pos)
elseif node.name == 'lightsplus:slab_light_inv_on' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_inv",})
nodeupdate(pos)
end
if node.name == 'lightsplus:slab_light_wall' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_wall_on", param2=node.param2})
nodeupdate(pos)
elseif node.name == 'lightsplus:slab_light_wall_on' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_wall", param2=node.param2})
nodeupdate(pos)
end
if node.name == 'lightsplus:light_gold' then
minetest.env:add_node(pos, {name="lightsplus:light_on_gold"})
nodeupdate(pos)
elseif node.name == 'lightsplus:light_on_gold' then
minetest.env:add_node(pos, {name="lightsplus:light_gold",})
nodeupdate(pos)
end
if node.name == 'lightsplus:slab_light_gold' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_on_gold"})
nodeupdate(pos)
elseif node.name == 'lightsplus:slab_light_on_gold' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_gold",})
nodeupdate(pos)
end
if node.name == 'lightsplus:slab_light_inv_gold' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_inv_on_gold"})
nodeupdate(pos)
elseif node.name == 'lightsplus:slab_light_inv_on_gold' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_inv_gold",})
nodeupdate(pos)
end
if node.name == 'lightsplus:slab_light_wall_gold' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_wall_on_gold", param2=node.param2})
nodeupdate(pos)
elseif node.name == 'lightsplus:slab_light_wall_on_gold' then
minetest.env:add_node(pos, {name="lightsplus:slab_light_wall_gold", param2=node.param2})
nodeupdate(pos)
end
if node.name == 'lightsplus:light_flat' then
minetest.env:add_node(pos, {name="lightsplus:light_flat_on", param2=node.param2,})
nodeupdate(pos)
elseif node.name == 'lightsplus:light_flat_on' then
minetest.env:add_node(pos, {name="lightsplus:light_flat", param2=node.param2,})
nodeupdate(pos)
end
if node.name == 'lightsplus:light_flat_gold' then
minetest.env:add_node(pos, {name="lightsplus:light_flat_on_gold", param2=node.param2,})
nodeupdate(pos)
elseif node.name == 'lightsplus:light_flat_on_gold' then
minetest.env:add_node(pos, {name="lightsplus:light_flat_gold", param2=node.param2,})
nodeupdate(pos)
end
end
minetest.register_on_punchnode(on_light_puncher)
Code: Select all
local lights = {
{"lightsplus:light", "lightsplus:light_on"},
{"lightsplus:gold_light", "lightsplus:gold_light_on"},
{"lightsplus:slab_light", "lightsplus:slab_light_on"},
{"lightsplus:gold_slab_light", "lightsplus:gold_slab_light_on"},
{"lightsplus:flat_light", "lightsplus:flat_light_on"},
{"lightsplus:gold_flat_light", "lightsplus:gold_flat_light_on"},
}
for i in ipairs(lights) do
local off = lights[i][1]
local on = lights[i][2]
local on_light_puncher = function (pos, node, puncher)
if node.name == off then
minetest.env:add_node(pos, {name=on})
nodeupdate(pos)
elseif node.name == on then
minetest.env:add_node(pos, {name=off})
nodeupdate(pos)
end
end
end
minetest.register_on_punchnode(on_light_puncher)