Advertisement
promitheus_sal

mine2.lua

Nov 21st, 2022 (edited)
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.49 KB | None | 0 0
  1.  
  2. MIN_FUEL_LEVEL = 300
  3. FUEL_SLOT = 1
  4.  
  5. function checkFuel()
  6.     turtle.select(FUEL_SLOT)
  7.     if turtle.getFuelLevel()<MIN_FUEL_LEVEL then
  8.         if turtle.refuel(1) then
  9.             return true
  10.         else
  11.             return false--goHomeNOW()
  12.         end
  13.     end
  14. end
  15.  
  16. function moveForward()
  17.     checkFuel()
  18.     if turtle.forward() then
  19.         return true
  20.     end
  21.     return false
  22. end
  23.  
  24. function moveBackward()
  25.     checkFuel()
  26.     if turtle.back() then
  27.         return true
  28.     end
  29.     return false
  30. end
  31.  
  32. function moveDownward()
  33.     checkFuel()
  34.     if turtle.down() then
  35.         return true
  36.     end
  37.     return false
  38. end
  39.  
  40. function moveUpward()
  41.     checkFuel()
  42.     if turtle.up() then
  43.         return true
  44.     end
  45.     return false
  46. end
  47.  
  48. function turnLeft()
  49.     turtle.turnLeft()
  50. end
  51.  
  52. function turnRight()
  53.     turtle.turnRight()
  54. end
  55.  
  56. function digMoveForward()
  57.     repeat turtle.dig() until moveForward()
  58.     turtle.digUp()
  59.     turtle.digDown()
  60. end
  61.  
  62. function digMoveDown()
  63.     repeat turtle.digDown() until moveDownward()
  64. end
  65.  
  66. function digMoveUp()
  67.     repeat turtle.digUp() until moveUpward()
  68. end
  69.  
  70. function tunnelForward(n)
  71.     for i=1,n do
  72.         digMoveForward()
  73.     end
  74. end
  75.  
  76. function main()
  77.     print("DEPTH?")
  78.     local depthS = read()
  79.     local depth = tonumber(depthS)
  80.     print("FRONT?")
  81.     local frontS = read()
  82.     local front = tonumber(frontS)
  83.     print("LATERAL MOVEMENT (-L,+R)?")
  84.     local lateralS = read()
  85.     local lateral = tonumber(lateralS)
  86.     print("TUNNEL LENGTH?")
  87.     local lengthS = read()
  88.     local length = tonumber(lengthS)
  89.     for i=1,front do moveForward() end
  90.     if lateral>0 then
  91.         turnRight()
  92.         for i=1,lateral do digMoveForward() end
  93.         turnLeft()
  94.     else
  95.         turnLeft()
  96.         for i=1,-lateral do digMoveForward() end
  97.         turnRight()
  98.     end
  99.     for i=1,depth do digMoveDown() end
  100.     tunnelForward(length)
  101.     turnLeft()
  102.     turnLeft()
  103.     digMoveDown()
  104.     digMoveDown()
  105.     digMoveDown()
  106.     tunnelForward(length)
  107.     turnLeft()
  108.     turnLeft()
  109.     for i=1,depth+3 do digMoveUp() end
  110.     if lateral>0 then
  111.         turnRight()
  112.         for i=1,lateral do moveBackward() end
  113.         turnLeft()
  114.     else
  115.         turnLeft()
  116.         for i=1,-lateral do moveBackward() end
  117.         turnRight()
  118.     end
  119.     for i=1,front do moveBackward() end
  120.     turnLeft()
  121.     turnLeft()
  122.     for i=2,16 do turtle.select(i)turtle.drop(64) end
  123.     turnLeft()
  124.     turnLeft()
  125. end
  126.  
  127. main()
  128.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement