Advertisement
Guest User

dig.lua

a guest
May 21st, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.13 KB | None | 0 0
  1. args={...}
  2. if (#args < 1) then
  3.     print("Usage: <programname> striplength")
  4.     return
  5. end
  6.  
  7. function empty()
  8.     turtle.select(16)
  9.     turtle.digDown()
  10.     turtle.placeDown()
  11.     for i = 1, 15, 1 do
  12.         turtle.select(i)
  13.         turtle.dropDown()
  14.     end
  15.     turtle.select(1)
  16. end
  17.  
  18. function forward()
  19.     while (turtle.forward() ~= true) do
  20.         if (turtle.detect()) then
  21.             turtle.dig()
  22.         else
  23.             turtle.attack()
  24.         end
  25.     end
  26. end
  27.  
  28. function dig()
  29.     if (turtle.detectUp()) then
  30.         turtle.digUp()
  31.     end
  32.     if (turtle.detect()) then
  33.         turtle.dig()
  34.     end
  35.     forward()    
  36. end
  37.  
  38. turnLeft = true
  39. i_max = tonumber(args[1])
  40. j_max = 3
  41. while (turtle.detect() ~= true) do
  42.     forward()
  43. end
  44. while (true) do
  45.     j = 1
  46.     while (j <= j_max) do
  47.         dig()
  48.         j = j + 1
  49.     end
  50.     for k = 1, 2, 1 do
  51.         if (turnLeft) then
  52.             turtle.turnLeft()
  53.         else
  54.             turtle.turnRight()
  55.         end
  56.         i = 1
  57.         while (i <= i_max) do
  58.             turtle.select(16)
  59.             if (turtle.getItemCount() < 2) then
  60.                 break
  61.             end
  62.             turtle.select(15)
  63.             if (turtle.getItemCount() > 0) then
  64.                 empty()
  65.             end
  66.             turtle.select(1)
  67.             if (turtle.getFuelLevel() <= 100) then
  68.                 break
  69.             end
  70.             while (i <= i_max and turtle.detect() ~= true) do
  71.                 forward()
  72.                 i = i + 1
  73.             end
  74.             dig()
  75.             i = i + 1
  76.         end
  77.         turtle.turnLeft()
  78.         turtle.turnLeft()
  79.         i = 1
  80.         while (i <= i_max) do
  81.             forward()
  82.             i = i + 1
  83.         end
  84.         if (turnLeft) then
  85.             turtle.turnLeft()
  86.         else
  87.             turtle.turnRight()
  88.         end
  89.         turnLeft = not turnLeft
  90.     end
  91.     turtle.select(16)
  92.     if (turtle.getItemCount() < 2) then
  93.         break
  94.     end
  95.     if (turtle.getFuelLevel() <= 100) then
  96.         break
  97.     end
  98.     print("Done with strip, fuel level:")
  99.     print(turtle.getFuelLevel())
  100. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement