Advertisement
thezer0th

Untitled

Feb 21st, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. local component = require("component")
  2. local sides = require("sides")
  3. local os = require("os")
  4.  
  5. local function main()
  6. local dist_sets = {}
  7. local input_cands = { sides.east, sides.west }
  8. local output_cands = { sides.north, sides.south, sides.up }
  9. for addr, type in component.list() do
  10. if type == "transposer" then
  11. local tp = component.proxy(addr)
  12. local input = nil
  13. if tp.getInventorySize(input_cands[1]) ~= nil then input = input_cands[1]
  14. else input = input_cands[2]
  15. local valid_sides = {}
  16. for _, cand in pairs(output_cands) do
  17. if tp.getInventorySize(cand) ~= nil then
  18. table.insert(valid_sides, cand)
  19. end
  20. end
  21. table.insert(dist_sets, { tp = tp, valid_sides = valid_sides })
  22. end
  23. end
  24. while true do
  25. for _, dist_set in pairs(dist_sets) do
  26. for _, valid_out in pairs(dist_set.valid_sides) do
  27. while tp.getStackInSlot(dist_set.input, 1) == nil do os.sleep(0.1) end
  28. while tp.getStackInSlot(valid_out, 1) ~= nil do os.sleep(0.1) end
  29. for slot = 1, 2 do
  30. tp.transferItem(dist_set.input, dist_set.valid_out, 1, slot, slot)
  31. end
  32. end
  33. end
  34. end
  35. end
  36.  
  37. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement