kovakovi2000

CC: lining up

Feb 12th, 2021 (edited)
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.73 KB | None | 0 0
  1. local args = {...}
  2. if args[1] == nil then
  3.     error("No Arg found")
  4. end
  5.  
  6. local function collect()  
  7.     local bFull = true
  8.     local nTotalItems = 0
  9.     for n=1,16 do
  10.         local nCount = turtle.getItemCount(n)
  11.         if nCount == 0 then
  12.             bFull = false
  13.         end
  14.         nTotalItems = nTotalItems + nCount
  15.     end
  16.    
  17.     if bFull then
  18.         return false
  19.     end
  20.     return true
  21. end
  22.  
  23. function IsTurtle()
  24.     success, data = turtle.inspect()
  25.     if not success then
  26.         return false
  27.     end
  28.     if data.name == "computercraft:turtle_advanced" then
  29.         return true
  30.     end
  31.     return false
  32. end
  33.  
  34. function IsEnderChest()
  35.     success, data = turtle.inspectDown()
  36.     if not success then
  37.         return false
  38.     end
  39.     if data.name == "enderstorage:ender_storage" then
  40.         return true
  41.     end
  42.     return false
  43. end
  44.  
  45. local serial = tonumber( args[1] )
  46. local ize = tonumber(string.format("%.0f", (serial - 1) / 16 - 0.5))
  47. if ize < 0 then
  48.     ize = 0
  49. end
  50. local forward = 14 - ize * 2
  51. local fo = forward
  52. local left = 16 - (serial - (ize * 16))
  53. local le = left
  54. print("Forward="  .. forward .. " | left=" .. left)
  55. x, y, z = gps.locate(5)
  56.  
  57. while forward ~= 0 do
  58.     if turtle.detect() then
  59.         if not IsTurtle() then
  60.             turtle.dig()
  61.         end
  62.     end
  63.     if turtle.forward() then
  64.         forward = forward - 1
  65.     end
  66. end
  67.  
  68. turtle.turnLeft()
  69.  
  70. while left ~= 0 do
  71.     if turtle.detect() then
  72.         if not IsTurtle() then
  73.             turtle.dig()
  74.         end
  75.     end
  76.     if turtle.forward() then
  77.         left = left - 1
  78.     end
  79. end
  80. turtle.turnRight()
  81. ---------------------------------
  82. turtle.dig()
  83. turtle.digDown()
  84. local depth = y
  85. while depth ~= 5 do
  86.     if turtle.down() then
  87.         depth = depth - 1
  88.     else
  89.         turtle.attackDown()
  90.     end
  91.     turtle.digDown()
  92.     turtle.dig()
  93. end
  94.  
  95. while depth ~= y do
  96.     if turtle.up() then
  97.         depth = depth + 1
  98.     end
  99. end
  100. ----------------------------------
  101. forward = 15 - fo
  102. while forward ~= 0 do
  103.     if turtle.forward() then
  104.         forward = forward - 1
  105.     end
  106. end
  107.  
  108. turtle.turnRight()
  109.  
  110. left = le
  111. while left ~= 0 do
  112.     if turtle.forward() then
  113.         left = left - 1
  114.     end
  115. end
  116. turtle.turnRight()
  117.  
  118. depth = 2
  119. while depth ~= 0 do
  120.     if turtle.up() then
  121.         depth = depth - 1
  122.     end
  123. end
  124.  
  125. forward = 14
  126. while forward ~= 0 do
  127.     if turtle.forward() then
  128.         forward = forward - 1
  129.     end
  130. end
  131.  
  132. while not IsEnderChest() do end
  133.  
  134. for n=1,16 do
  135.     local nCount = turtle.getItemCount(n)
  136.     if nCount > 0 then
  137.         turtle.select(n)          
  138.         turtle.dropDown()
  139.     end
  140. end
  141.  
  142. forward = 1
  143. while forward ~= 0 do
  144.     if turtle.forward() then
  145.         forward = forward - 1
  146.     end
  147. end
Add Comment
Please, Sign In to add comment