Traitor/mods/levels/borders.lua

40 lines
1.2 KiB
Lua

minetest.register_node('levels:border', {
description = 'Invisible Border',
inventory_image = 'levels_border.png',
drawtype = 'allfaces',
paramtype = 'light',
pointable = false,
tiles = {'levels_blank.png'},
groups = {breakable=1, not_in_creative_inventory=1},
})
minetest.register_node('levels:border_alt', {
description = 'visible Border',
drawtype = 'allfaces',
paramtype = 'light',
pointable = true,
tiles = {'levels_border.png'},
groups = {breakable=1},
on_construct = function(pos)
local timer = minetest.get_node_timer(pos)
timer:start(30)
end,
on_timer = function(pos)
minetest.set_node(pos, {name='levels:border'})
end
})
minetest.register_chatcommand('border', {
description = 'Turn invisible borders visible.',
func = function(name)
local player = minetest.get_player_by_name(name)
local pos = vector.round(player:get_pos())
local pos1 = {x=pos.x+5, y=pos.y+5, z=pos.z+5}
local pos2 = {x=pos.x-5, y=pos.y-3, z=pos.z-5}
local node_list = minetest.find_nodes_in_area(pos1, pos2, 'levels:border')
for _,pos in pairs(node_list) do
minetest.set_node(pos, {name='levels:border_alt'})
end
end
})