123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- local default_fences = {
- "default:fence_wood",
- "default:fence_acacia_wood",
- "default:fence_aspen_wood",
- "default:fence_junglewood",
- "default:fence_pine_wood"
- }
- for _, n in ipairs(default_fences) do
- minetest.override_item(n, {
- check_for_pole = true
- })
- end
- if minetest.get_modpath("cottages") then
- local cbox = table.copy(minetest.registered_items["cottages:table"].node_box)
- minetest.override_item("cottages:table", {
- check_for_pole = true,
- selection_box = cbox
- })
- end
- if minetest.get_modpath("prefab_redo") then
- minetest.override_item("prefab_redo:concrete_railing", {
- check_for_pole = true,
- selection_box = {
- type = "connected",
- connect_right = { -0.125, -0.5, -0.125, 0.5, 0.375, 0.125 },
- connect_left = { -0.5, -0.5, -0.125, 0.125, 0.375, 0.125 },
- connect_back = { -0.125, -0.5, -0.125, 0.125, 0.375, 0.5 },
- connect_front = { -0.125, -0.5, -0.5, 0.125, 0.375, 0.125 },
- disconnected = { -0.125, -0.5, -0.125, 0.125, 0.25, 0.125 },
- fixed = {}
- }
- })
- end
- if minetest.get_modpath("streetspoles") then
- local htj_north = {
- [1] = true,
- [3] = true,
- [9] = true,
- [11] = true,
- [21] = true,
- [23] = true
- }
- local htj_east = {
- [0] = true,
- [2] = true,
- [16] = true,
- [18] = true,
- [20] = true,
- [22] = true
- }
- local htj_south = {
- [1] = true,
- [3] = true,
- [5] = true,
- [7] = true,
- [21] = true,
- [23] = true
- }
- local htj_west = {
- [0] = true,
- [2] = true,
- [12] = true,
- [14] = true,
- [20] = true,
- [22] = true
- }
- local vtj_north = {
- [8] = true,
- [10] = true,
- [13] = true,
- [15] = true,
- [17] = true,
- [19] = true
- }
- local vtj_east = {
- [4] = true,
- [6] = true,
- [8] = true,
- [10] = true,
- [17] = true,
- [19] = true
- }
- local vtj_south = {
- [4] = true,
- [6] = true,
- [13] = true,
- [15] = true,
- [17] = true,
- [10] = true
- }
- local vtj_west = {
- [4] = true,
- [6] = true,
- [8] = true,
- [10] = true,
- [13] = true,
- [15] = true
- }
- minetest.override_item("streets:bigpole", {
- check_for_pole = function(pos, node, def, ppos, pnode, pdef)
- if pnode.param2 < 4
- or (pnode.param2 > 19 and pnode.param2 < 24)
- and (pos.x ~= ppos.x or pos.z ~= ppos.z) then
- return true
- end
- end,
- check_for_horiz_pole = function(pos, node, def, ppos, pnode, pdef)
- if pnode.param2 > 3 and pnode.param2 < 12 then
- if def.paramtype2 == "wallmounted" then
- if node.param2 == 2 or node.param2 == 3 -- E/W
- then return true
- end
- else
- if node.param2 == 1 or node.param2 == 3 -- E/W
- then return true
- end
- end
- elseif pnode.param2 > 11 and pnode.param2 < 20 then
- if def.paramtype2 == "wallmounted" then
- if node.param2 == 4 or node.param2 == 5 then
- return true
- end
- else
- if node.param2 == 0 or node.param2 == 2 then
- return true
- end
- end
- end
- end
- })
- minetest.override_item("streets:bigpole_tjunction", {
- check_for_pole = function(pos, node, def, ppos, pnode, pdef)
- if def.paramtype2 == "wallmounted" then
- if (node.param2 == 4 and vtj_north[pnode.param2])
- or (node.param2 == 2 and vtj_east[pnode.param2])
- or (node.param2 == 5 and vtj_south[pnode.param2])
- or (node.param2 == 3 and vtj_west[pnode.param2]) then
- return true
- end
- else
- if (node.param2 == 0 and vtj_north[pnode.param2])
- or (node.param2 == 1 and vtj_east[pnode.param2])
- or (node.param2 == 2 and vtj_south[pnode.param2])
- or (node.param2 == 3 and vtj_west[pnode.param2]) then
- return true
- end
- end
- end,
- check_for_horiz_pole = function(pos, node, def, ppos, pnode, pdef)
- if def.paramtype2 == "wallmounted" then
- if (node.param2 == 4 and htj_north[pnode.param2])
- or (node.param2 == 2 and htj_east[pnode.param2])
- or (node.param2 == 5 and htj_south[pnode.param2])
- or (node.param2 == 3 and htj_west[pnode.param2]) then
- return true
- end
- else
- if (node.param2 == 0 and htj_north[pnode.param2])
- or (node.param2 == 1 and htj_east[pnode.param2])
- or (node.param2 == 2 and htj_south[pnode.param2])
- or (node.param2 == 3 and htj_west[pnode.param2]) then
- return true
- end
- end
- end
- })
- end
- if minetest.get_modpath("streetlamps") then
- minetest.override_item("streets:streetlamp_basic_top_on", {
- selection_box = {
- type = "fixed",
- fixed = {
- {-0.3,-0.4,-0.3,0.3,0.5,0.3},
- {-0.15,-0.4,-0.15,0.15,-1.55,0.15},
- {-0.18,-1.55,-0.18,0.18,-2.5,0.18},
- }
- },
- check_for_pole = true
- })
- end
|