Advertisement
Guest User

clean

a guest
Nov 13th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.83 KB | None | 0 0
  1. x=1
  2. y=1
  3. z=1
  4. face=2 --n0 e1 s2 w3
  5. t=turtle
  6.  
  7. xmax = 80 --EVEN NUMBERS RETARD
  8. ymax = 30
  9. zmax = 80
  10.  
  11. function move()
  12.   if t.forward() == false then
  13.     t.attack("right")
  14.     t.dig()
  15.     move()
  16.   end
  17. end
  18. function forceForward()
  19.   if t.detect() then
  20.     t.dig()
  21.   end
  22.   move()
  23. end
  24.  
  25. function forceUp()
  26.   if t.detectUp() then
  27.     t.digUp()
  28.   end
  29.   t.up()
  30. end
  31.  
  32. function forceDown()
  33.   if t.detectDown() then
  34.     t.digDown()
  35.   end
  36.   if t.down() == false then
  37.     t.attack()
  38.     forceDown()
  39.   end
  40. end
  41.  
  42. function left()
  43.   t.turnLeft()
  44.   if face == 0 then
  45.     face = 3
  46.   else
  47.     face = face - 1
  48.   end
  49. end
  50.  
  51. function right()
  52.   t.turnRight()
  53.   if face == 3 then
  54.     face = 0
  55.   else
  56.     face = face + 1
  57.   end
  58. end
  59.  
  60. function clean()
  61.   while y < ymax do
  62.     while x < xmax do
  63.       while z < zmax do
  64.         if t.detect() then
  65.           dumpCheck()
  66.           t.dig()
  67.         end
  68.         move()
  69.         z = z + 1
  70.       end
  71.       if x%2 == 1 then
  72.         right()
  73.         t.dig()
  74.         move()
  75.         right()
  76.       else
  77.         left()
  78.         t.dig()
  79.         move()
  80.         left()
  81.       end
  82.       x = x + 1
  83.       z = 1
  84.     end
  85.     t.digUp()
  86.     t.up()
  87. --    left()
  88. --    left()
  89.     y = y + 1
  90.     x = 1
  91.   end
  92. end
  93.  
  94. function dumpCheck()
  95.   local i = 0
  96.   local inv = 0
  97.   while i < 16 do
  98.     if t.getItemCount(i+1) ~= 0 then
  99.       inv = inv + 1
  100.     end
  101.     i = i + 1
  102.   end
  103.   if inv > 14 then
  104.     dump()
  105.   end
  106. end
  107.  
  108. function dump()
  109.   tempx=x
  110.   tempy=y
  111.   tempz=z
  112.   tempface = face
  113.   --handling y
  114.   while y > 1 do
  115.     forceDown()
  116.     y = y - 1
  117.   end
  118.   --handling x
  119.   while face ~= 1 do
  120.     left()
  121.   end
  122.   if tempy%2 == 1 then
  123.     while x > 1 do
  124.       forceForward()
  125.       x = x - 1
  126.     end
  127.   else
  128.     while x < xmax do
  129.       forceForward()
  130.       x = x + 1
  131.     end
  132.   end
  133.   --handling z
  134.   while face ~= 0 do
  135.     left()
  136.   end
  137.   if tempx%2 == 1 then
  138.     while z > 1 do
  139.       forceForward()
  140.       z = z - 1
  141.     end
  142.   else
  143.     while z < zmax do
  144.       forceForward()
  145.       z = z + 1
  146.     end
  147.   end
  148.   --At chest, now face East 1
  149.   while face ~= 1 do
  150.     left()
  151.   end
  152.   local i = 0
  153.   for i = 16,1,-1 do
  154.     t.select(i)
  155.     t.drop()
  156.   end
  157.   --Returning to z
  158.   while face ~= 2 do
  159.     left()
  160.   end
  161.   if tempx%2 == 1 then
  162.     while z < tempz do
  163.       forceForward()
  164.       z = z + 1
  165.     end
  166.   else
  167.     while z > tempz do
  168.       forceForward()
  169.       z = z - 1
  170.     end
  171.   end
  172.   --Returning to x
  173.   while face ~= 3 do
  174.     left()
  175.   end
  176.   if tempy%2 == 1 then
  177.     while x < tempx do
  178.       forceForward()
  179.       x = x + 1
  180.     end
  181.   else
  182.     while x > tempx do
  183.       forceForward()
  184.       x = x - 1
  185.     end
  186.   end
  187.   --Returning to y
  188.   while y < tempy do
  189.     forceUp()
  190.     y = y + 1
  191.   end
  192.   --Returning face
  193.   while face ~= tempface do
  194.     left()
  195.   end
  196. end
  197.  
  198. clean()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement