minetest-mm/mods-old/streets/streets_poles/init.lua
2021-12-05 14:17:16 +01:00

435 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, not_blocking_trains = 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, not_blocking_trains = 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, not_blocking_trains = 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, not_blocking_trains = 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, not_blocking_trains = 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, not_blocking_trains = 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, not_blocking_trains = 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, not_blocking_trains = 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_five_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, not_blocking_trains = 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" }
}
})