Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. local args = {...}
  2.  
  3. local function isEmpty(val)
  4. return val == nil or val == ""
  5. end
  6.  
  7. local function log(val)
  8. write(val .. "\n")
  9. end
  10.  
  11. local function validate(x, z, y)
  12. if x > 100 or z > 100 or y > 100 then
  13. log("Vc vai fazer merda mano. Não vou deixar mais do que 100.")
  14. return false
  15. end
  16.  
  17. return true
  18. end
  19.  
  20. local function refuel()
  21. for i = 1, 16 do
  22. turtle.select(i)
  23. if turtle.refuel() then
  24. log("Recarreguei, que delícia cara.")
  25. return true
  26. end
  27. end
  28. return false
  29. end
  30.  
  31. local function checkFuel()
  32. if turtle.getFuelLevel() < 1000 then
  33. log("Quase sem gasosa, tentando recarregar.")
  34. while not refuel()
  35. do
  36. os.sleep(3)
  37. end
  38. end
  39. return true
  40. end
  41.  
  42. local function digForward()
  43. repeat
  44. turtle.dig()
  45. until turtle.forward()
  46. end
  47.  
  48. local function start()
  49. local x = tonumber(args[1])
  50. local z = tonumber(args[2])
  51. local y = tonumber(args[3])
  52.  
  53. if not validate(x, z, y) then
  54. return
  55. end
  56.  
  57. local turnRight = true
  58.  
  59. for curY = 1, y do
  60. for curX = 1, x do
  61. for curZ = 1, z - 1 do
  62. checkFuel()
  63. digForward()
  64. end
  65.  
  66. if curX ~= x then
  67. if turnRight then
  68. turtle.turnRight()
  69. digForward()
  70. turtle.turnRight()
  71. else
  72. turtle.turnLeft()
  73. digForward()
  74. turtle.turnLeft()
  75. end
  76. turnRight = not turnRight
  77. end
  78. end
  79.  
  80. if curY ~= y then
  81. turtle.digDown()
  82. turtle.down()
  83. turtle.turnRight()
  84. turtle.turnRight()
  85. end
  86. end
  87. end
  88.  
  89. start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement