kovakovi2000

CC: lining up sponge

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