Advertisement
shirkit

build resupply

Jul 10th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. os.loadAPI("utils")
  2. os.loadAPI("matrix")
  3. os.loadAPI("aware")
  4.  
  5. local tArgs = { ... }
  6. structname = tArgs[1]
  7. startpos = {}
  8.  
  9. m = peripheral.wrap("right")
  10.  
  11. local function refuel(slot)
  12. return m.resupply(slot)
  13. end
  14.  
  15. local function placedown(slot)
  16. while (turtle.getItemCount(slot) < 2) do
  17. if (refuel(slot) == false) then
  18. utils.termwrite("Slot "..slot.." needs a refill!")
  19. sleep(3)
  20. end
  21. end
  22. turtle.select(slot)
  23. while(turtle.placeDown() == false) do
  24. if(turtle.digDown() == false) then
  25. utils.termwrite("Unable to place block beneath me!")
  26. sleep(3)
  27. end
  28. end
  29. end
  30.  
  31. local function buildlayer(number)
  32. currentlayer = utils.varfromfile(structname.."/"..structname..number)
  33.  
  34. for i=1, 100, 2 do
  35. for j=1, 40 do
  36. block = matrix.get(currentlayer, i, j)
  37. if(block ~= nil) then
  38. aware.moveto((startpos[1]+i), (startpos[2]+j))
  39. placedown(block)
  40. end
  41. end
  42. for j=40, 1, -1 do
  43. block = matrix.get(currentlayer, i+1, j)
  44. if(block ~= nil) then
  45. aware.moveto((startpos[1]+i+1), (startpos[2]+j))
  46. placedown(block)
  47. end
  48. end
  49. end
  50. end
  51.  
  52. local function build()
  53. startpos = aware.getposition("current")
  54. structpos = 0
  55. while(fs.exists(structname.."/"..structname..structpos)) do
  56. buildlayer(structpos)
  57. aware.digmoveup()
  58. structpos = structpos + 1
  59. end
  60. aware.moveto(startpos[1],startpos[2],startpos[3]+structpos)
  61. aware.goto(startpos)
  62. end
  63.  
  64. build()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement