436 lines
12 KiB
Lua

--[[
## StreetsMod 2.0 ##
Submod: poles
Optional: true
]]
minetest.register_node(":streets:bigpole", {
description = "Pole Straight",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.5, 0.15}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
{x= 0, y=-2, z= 0}
}
}
},
streets_pole_connection = {
[0] = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
[1] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
[2] = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
[3] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
["t"] = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1}
}
})
minetest.register_craft({
output = "streets:bigpole 3",
recipe = {
{"default:steel_ingot"},
{"default:steel_ingot"}
}
})
minetest.register_node(":streets:bigpole_short", {
description = "Pole Short",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.15, 0.15}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
[1] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0},
[2] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
[3] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
["t"] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}
})
minetest.register_craft({
output = "streets:bigpole_short 2",
recipe = {
{"streets:bigpole"}
}
})
minetest.register_node(":streets:bigpole_edge", {
description = "Pole Edge",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
{-0.15, -0.15, -0.15, 0.15, 0.15, -0.5}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},
[1] = {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1},
[2] = {0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0},
[3] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0},
["t"] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0}
}
})
minetest.register_craft({
output = "streets:bigpole_edge 3",
recipe = {
{"streets:bigpole","streets:bigpole"},
{"streets:bigpole",""}
}
})
minetest.register_craft({
output = "streets:bigpole_edge 3",
recipe = {
{"streets:bigpole","streets:bigpole"},
{"","streets:bigpole"}
}
})
minetest.register_node(":streets:bigpole_tjunction", {
description = "Pole T-Junction",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
{-0.15, -0.15, -0.5, 0.15, 0.15, 0.5}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},
[1] = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1},
[2] = {1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},
[3] = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1},
["t"] = {0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0}
}
})
minetest.register_craft({
output = "streets:bigpole_tjunction",
recipe = {
{"streets:bigpole_edge","streets:bigpole_short"},
}
})
minetest.register_node(":streets:bigpole_corner", {
description = "Pole Corner",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
{-0.15, -0.15, -0.15, 0.15, 0.15, -0.5},
{-0.15, -0.15, -0.15, 0.5, 0.15, 0.15}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0},
[1] = {0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1},
[2] = {0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1},
[3] = {1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0},
["t"] = {0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0}
}
})
minetest.register_craft({
output = "streets:bigpole_corner",
recipe = {
{"streets:bigpole_edge"},
{"streets:bigpole_short"}
}
})
minetest.register_node(":streets:bigpole_four_side_junction", {
description = "Pole 4-Side-Junction",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.5, 0.15},
{-0.15, -0.15, -0.15, 0.15, 0.15, -0.5},
{-0.15, -0.15, -0.15, 0.5, 0.15, 0.15}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0},
[1] = {0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1},
[2] = {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1},
[3] = {1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0},
["t"] = {1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1}
}
})
minetest.register_craft({
output = "streets:bigpole_four_side_junction",
recipe = {
{"streets:bigpole_short"},
{"streets:bigpole_corner"}
}
})
minetest.register_node(":streets:bigpole_cross", {
description = "Pole Cross",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.5, 0.15},
{-0.15, -0.15, -0.5, 0.15, 0.15, 0.5}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},
[1] = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1},
[2] = {1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0},
[3] = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1},
["t"] = {1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1}
}
})
minetest.register_craft({
output = "streets:bigpole_cross",
recipe = {
{"", "streets:bigpole_short", ""},
{"streets:bigpole_short", "", "streets:bigpole_short"},
{"", "streets:bigpole_short", ""},
}
})
minetest.register_node(":streets:bigpole_five_side_junction", {
description = "Pole 5-Side-Junction",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.5, 0.15},
{-0.15, -0.15, -0.5, 0.15, 0.15, 0.5},
{-0.15,-0.15,-0.15,0.5,0.15,0.15}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0},
[1] = {0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1},
[2] = {1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1},
[3] = {1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1},
["t"] = {1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1}
}
})
minetest.register_craft({
output = "streets:bigpole_fice_side_junction",
recipe = {
{"streets:bigpole_cross", "streets:bigpole_short"}
}
})
minetest.register_node(":streets:bigpole_all_sides", {
description = "Pole All Sides",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
tiles = {"streets_pole.png"},
sunlight_propagates = true,
groups = {cracky = 1, level = 2, bigpole = 1},
node_box = {
type = "fixed",
fixed = {
{-0.15, -0.5, -0.15, 0.15, 0.5, 0.15},
{-0.15, -0.15, -0.5, 0.15, 0.15, 0.5},
{-0.5, -0.15, -0.15, 0.5, 0.15, 0.15}
}
},
on_place = minetest.rotate_node,
digiline = {
wire = {
rules = {
{x= 0, y= 0, z=-1},
{x= 0, y= 0, z= 1},
{x= 1, y= 0, z= 0},
{x=-1, y= 0, z= 0},
{x= 0, y=-1, z= 0},
{x= 0, y= 1, z= 0},
}
}
},
streets_pole_connection = {
[0] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
[1] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
[2] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
[3] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
["t"] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
["b"] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
}
})
minetest.register_craft({
output = "streets:bigpole_all_sides",
recipe = {
{"streets:bigpole_short", "streets:bigpole_cross", "streets:bigpole_short"}
}
})