131 lines
4.2 KiB
Lua
131 lines
4.2 KiB
Lua
function update_pane_glass(pos, modname, subname)
|
|
if minetest.env:get_node(pos).name:find("moreblocks:pane_glass") == nil then
|
|
return
|
|
end
|
|
local sum = 0
|
|
for i = 1, 4 do
|
|
local node = minetest.env:get_node({x = pos.x + pane_directions[i].x, y = pos.y + pane_directions[i].y, z = pos.z + pane_directions[i].z})
|
|
if minetest.registered_nodes[node.name].walkable ~= false then
|
|
sum = sum + 2 ^ (i - 1)
|
|
end
|
|
end
|
|
if sum == 0 then
|
|
sum = 15
|
|
end
|
|
minetest.env:add_node(pos, {name = "moreblocks:pane_glass_" .. sum})
|
|
end
|
|
|
|
|
|
function update_pane_coal_glass(pos, modname, subname)
|
|
if minetest.env:get_node(pos).name:find("moreblocks:pane_coal_glass") == nil then
|
|
return
|
|
end
|
|
local sum = 0
|
|
for i = 1, 4 do
|
|
local node = minetest.env:get_node({x = pos.x + pane_directions[i].x, y = pos.y + pane_directions[i].y, z = pos.z + pane_directions[i].z})
|
|
if minetest.registered_nodes[node.name].walkable ~= false then
|
|
sum = sum + 2 ^ (i - 1)
|
|
end
|
|
end
|
|
if sum == 0 then
|
|
sum = 15
|
|
end
|
|
minetest.env:add_node(pos, {name = "moreblocks:pane_coal_glass_" .. sum})
|
|
end
|
|
|
|
|
|
function update_pane_iron_glass(pos, modname, subname)
|
|
if minetest.env:get_node(pos).name:find("moreblocks:pane_iron_glass") == nil then
|
|
return
|
|
end
|
|
local sum = 0
|
|
for i = 1, 4 do
|
|
local node = minetest.env:get_node({x = pos.x + pane_directions[i].x, y = pos.y + pane_directions[i].y, z = pos.z + pane_directions[i].z})
|
|
if minetest.registered_nodes[node.name].walkable ~= false then
|
|
sum = sum + 2 ^ (i - 1)
|
|
end
|
|
end
|
|
if sum == 0 then
|
|
sum = 15
|
|
end
|
|
minetest.env:add_node(pos, {name = "moreblocks:pane_iron_glass_" .. sum})
|
|
end
|
|
|
|
|
|
function update_pane_clean_glass(pos, modname, subname)
|
|
if minetest.env:get_node(pos).name:find("moreblocks:pane_clean_glass") == nil then
|
|
return
|
|
end
|
|
local sum = 0
|
|
for i = 1, 4 do
|
|
local node = minetest.env:get_node({x = pos.x + pane_directions[i].x, y = pos.y + pane_directions[i].y, z = pos.z + pane_directions[i].z})
|
|
if minetest.registered_nodes[node.name].walkable ~= false then
|
|
sum = sum + 2 ^ (i - 1)
|
|
end
|
|
end
|
|
if sum == 0 then
|
|
sum = 15
|
|
end
|
|
minetest.env:add_node(pos, {name = "moreblocks:pane_clean_glass_" .. sum})
|
|
end
|
|
|
|
|
|
function update_pane_trap_glass(pos, modname, subname)
|
|
if minetest.env:get_node(pos).name:find("moreblocks:pane_trap_glass") == nil then
|
|
return
|
|
end
|
|
local sum = 0
|
|
for i = 1, 4 do
|
|
local node = minetest.env:get_node({x = pos.x + pane_directions[i].x, y = pos.y + pane_directions[i].y, z = pos.z + pane_directions[i].z})
|
|
if minetest.registered_nodes[node.name].walkable ~= false then
|
|
sum = sum + 2 ^ (i - 1)
|
|
end
|
|
end
|
|
if sum == 0 then
|
|
sum = 15
|
|
end
|
|
minetest.env:add_node(pos, {name = "moreblocks:pane_trap_glass_" .. sum})
|
|
end
|
|
|
|
|
|
function update_pane_glow_glass(pos, modname, subname)
|
|
if minetest.env:get_node(pos).name:find("moreblocks:pane_glow_glass") == nil then
|
|
return
|
|
end
|
|
local sum = 0
|
|
for i = 1, 4 do
|
|
local node = minetest.env:get_node({x = pos.x + pane_directions[i].x, y = pos.y + pane_directions[i].y, z = pos.z + pane_directions[i].z})
|
|
if minetest.registered_nodes[node.name].walkable ~= false then
|
|
sum = sum + 2 ^ (i - 1)
|
|
end
|
|
end
|
|
if sum == 0 then
|
|
sum = 15
|
|
end
|
|
minetest.env:add_node(pos, {name = "moreblocks:pane_glass_" .. sum})
|
|
end
|
|
|
|
function update_pane_super_glow_glass(pos, modname, subname)
|
|
if minetest.env:get_node(pos).name:find("moreblocks:pane_super_glow_glass") == nil then
|
|
return
|
|
end
|
|
local sum = 0
|
|
for i = 1, 4 do
|
|
local node = minetest.env:get_node({x = pos.x + pane_directions[i].x, y = pos.y + pane_directions[i].y, z = pos.z + pane_directions[i].z})
|
|
if minetest.registered_nodes[node.name].walkable ~= false then
|
|
sum = sum + 2 ^ (i - 1)
|
|
end
|
|
end
|
|
if sum == 0 then
|
|
sum = 15
|
|
end
|
|
minetest.env:add_node(pos, {name = "moreblocks:pane_super_glow_glass_" .. sum})
|
|
end
|
|
|
|
register_pane("moreblocks", "glass", "default:glass", 0, true, "Glass")
|
|
register_pane("moreblocks", "coal_glass", "moreblocks:coal_glass", 0, true, "Coal Glass")
|
|
register_pane("moreblocks", "iron_glass", "moreblocks:iron_glass", 0, true, "Iron Glass")
|
|
register_pane("moreblocks", "glow_glass", "moreblocks:glow_glass", 12, true, "Glow Glass")
|
|
register_pane("moreblocks", "super_glow_glass", "moreblocks:super_glow_glass", 15, true, "Super Glow Glass")
|
|
register_pane("moreblocks", "trap_glass", "moreblocks:trap_glass", 0, false, "Trap Glass")
|