| | |
| | | technic.DBG = 1 |
| | | local dprint = technic.dprint |
| | | |
| | | technic.networks = {} |
| | | |
| | | minetest.register_craft({ |
| | | output = "technic:switching_station", |
| | | recipe = { |
| | |
| | | end |
| | | |
| | | local get_network = function(pos1, tier) |
| | | local cached = technic.networks[pos1] |
| | | local cached = technic.networks[minetest.hash_node_position(pos1)] |
| | | if cached and cached.tier == tier then |
| | | touch_nodes(cached.PR_nodes, tier) |
| | | touch_nodes(cached.BA_nodes, tier) |
| | |
| | | i, technic.machines[tier], tier) |
| | | i = i + 1 |
| | | until all_nodes[i] == nil |
| | | technic.networks[pos1] = {tier = tier, PR_nodes = PR_nodes, RE_nodes = RE_nodes, BA_nodes = BA_nodes} |
| | | technic.networks[minetest.hash_node_position(pos1)] = {tier = tier, PR_nodes = PR_nodes, RE_nodes = RE_nodes, BA_nodes = BA_nodes} |
| | | return PR_nodes, BA_nodes, RE_nodes |
| | | end |
| | | |
| | |
| | | local name = minetest.get_node(pos1).name |
| | | local tier = technic.get_cable_tier(name) |
| | | if tier then |
| | | PR_nodes, RE_nodes, BA_nodes = get_network(pos1, tier) |
| | | PR_nodes, BA_nodes, RE_nodes = get_network(pos1, tier) |
| | | else |
| | | --dprint("Not connected to a network") |
| | | meta:set_string("infotext", "Switching Station - no network") |