SmallJoker
2022-11-01 705961e2fe23678753de81b3034df946edc9ab9d
technic/machines/register/cables.lua
@@ -63,24 +63,24 @@
            -- This is similar to check_node_subp
            technic.cables[minetest.hash_node_position(pos)] = network_id
            pos.visited = 1
            if technic.is_tier_cable(name, tier) then
            if technic.is_tier_cable(node.name, tier) then
               -- Found a cable
               table.insert(network.all_nodes,pos)
            elseif technic.machines[tier][node.name] then
               meta:set_string(tier.."_network",minetest.pos_to_string(sw_pos))
               if     technic.machines[tier][node.name] == technic.producer then
                  table.insert(network.PR_nodes,pos)
               elseif technic.machines[tier][node.name] == technic.receiver then
                  table.insert(network.RE_nodes,pos)
               elseif technic.machines[tier][node.name] == technic.producer_receiver then
                  table.insert(network.PR_nodes,pos)
                  table.insert(network.RE_nodes,pos)
               elseif technic.machines[tier][node.name] == "SPECIAL" and
                     (pos.x ~= sw_pos.x or pos.y ~= sw_pos.y or pos.z ~= sw_pos.z) and
                     from_below then
                  table.insert(network.SP_nodes,pos)
               elseif technic.machines[tier][node.name] == technic.battery then
                  table.insert(network.BA_nodes,pos)
               -- Found a machine
               local eu_type = technic.machines[tier][node.name]
               meta:set_string(tier.."_network", string.format("%X", network_id))
               if     eu_type == technic.producer then
                  table.insert(network.PR_nodes, pos)
               elseif eu_type == technic.receiver then
                  table.insert(network.RE_nodes, pos)
               elseif eu_type == technic.producer_receiver then
                  table.insert(network.PR_nodes, pos)
                  table.insert(network.RE_nodes, pos)
               elseif eu_type == technic.battery then
                  table.insert(network.BA_nodes, pos)
               end
               -- Note: SPECIAL (i.e. switching station) is not traversed!
            end
         elseif dead_end and not placed then
            -- Dead end removed, remove it from the network
@@ -215,7 +215,7 @@
      if i == 1 then
         def.on_place = function(itemstack, placer, pointed_thing)
            local pointed_thing_diff = vector.subtract(pointed_thing.above, pointed_thing.under)
            local num
            local num = 1
            local changed
            for k, v in pairs(pointed_thing_diff) do
               if v ~= 0 then
@@ -225,7 +225,7 @@
               end
            end
            local crtl = placer:get_player_control()
            if (crtl.aux1 or crtl.sneak) and not (crtl.aux1 and crtl.sneak) then
            if (crtl.aux1 or crtl.sneak) and not (crtl.aux1 and crtl.sneak) and changed then
               local fine_pointed = minetest.pointed_thing_to_face_pos(placer, pointed_thing)
               fine_pointed = vector.subtract(fine_pointed, pointed_thing.above)
               fine_pointed[changed] = nil