Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require("component")
- local sides = require("sides")
- local os = require("os")
- local function main()
- local dist_sets = {}
- local input_cands = { sides.east, sides.west }
- local output_cands = { sides.north, sides.south, sides.up }
- for addr, type in component.list() do
- if type == "transposer" then
- local tp = component.proxy(addr)
- local input = nil
- if tp.getInventorySize(input_cands[1]) ~= nil then input = input_cands[1]
- else input = input_cands[2]
- local valid_sides = {}
- for _, cand in pairs(output_cands) do
- if tp.getInventorySize(cand) ~= nil then
- table.insert(valid_sides, cand)
- end
- end
- table.insert(dist_sets, { tp = tp, valid_sides = valid_sides })
- end
- end
- while true do
- for _, dist_set in pairs(dist_sets) do
- for _, valid_out in pairs(dist_set.valid_sides) do
- while tp.getStackInSlot(dist_set.input, 1) == nil do os.sleep(0.1) end
- while tp.getStackInSlot(valid_out, 1) ~= nil do os.sleep(0.1) end
- for slot = 1, 2 do
- tp.transferItem(dist_set.input, dist_set.valid_out, 1, slot, slot)
- end
- end
- end
- end
- end
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement