theeboris

turtle autminer

Jul 24th, 2013
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.75 KB | None | 0 0
  1. critical_number = 100
  2. auto_refuel = 300
  3. critical_number = tonumber(critical_number)
  4. rednet_update = function()
  5.     rednet.send(computerID,"The fuel level is "..turtle.getFuelLevel())
  6.     if turtle.getFuelLevel() <= critical_number then
  7.         rednet.send(computerID,"Whoops... The turtle needs some extra fuel")
  8.     end
  9.     if turtle.getFuelLevel() >= critical_number then
  10.         rednet.send(computerID,"There is still enough fuel")
  11.     end
  12.     if busy == true then
  13.         rednet.send(computerID,"Meters left: "..length)
  14.     end
  15.     if busy == false then
  16.         rednet.send(computerID,""..message)
  17.     end
  18.     x, y, z = gps.locate(1)
  19.     if turtle.getFuelLevel() <= auto_refuel then
  20.         shell.run("refuel all")
  21.     end
  22.     if turtle.getFuelLevel() <= critical_number then
  23.         critical = true
  24.     end
  25.     rednet.send(computerID,"The gps position X: "..x)
  26.     rednet.send(computerID,"The gps position Y: "..y)
  27.     rednet.send(computerID,"The gps position Z: "..z)
  28. end
  29. if turtle.getFuelLevel() == unlimited then
  30.     print("No support for turtles with unlimited fuel. Sorry")
  31.     return
  32. end
  33. ok = true
  34. while ok do
  35.     print("Enter the length of the please:")
  36.     length = tonumber(read())
  37.     notok = false
  38.     if type(length) == "number" then
  39.         if length <= 5 then
  40.             print("The length must be larger then 5")
  41.             notok = true
  42.         end
  43.         if notok == false then
  44.             print("Thanks")
  45.             ok = false
  46.         end
  47.     else
  48.         print("Please enter a number")
  49.         return
  50.     end
  51. end
  52. print("Please enter the computerID:")
  53. computerID = tonumber(read())
  54. if type(computerID) == "number" then
  55.     print("Thanks, now I will send a rednet signal to the computer/turtle...")
  56. else
  57.     print("Please enter a number")
  58.     return
  59. end
  60. rednet.open("right")
  61. while turtle.getFuelLevel() <= auto_refuel do
  62.     print("Not enough fuel!")
  63.     print("Please give some fuel and press a key.")
  64.     read()
  65.     shell.run("refuel all")
  66. end
  67.  
  68. busy = true
  69. back = length
  70. home = true
  71. count = true
  72. turtle.dig()
  73. turtle.forward()
  74. turtle.digUp()
  75. turtle.up()
  76. turtle.digUp()
  77. turtle.turnRight()
  78. turtle.dig()
  79. turtle.forward()
  80. turtle.digUp()
  81. turtle.digDown()
  82. turtle.turnRight()
  83. turtle.turnRight()
  84. turtle.forward()
  85. turtle.dig()
  86. turtle.forward()
  87. turtle.digUp()
  88. turtle.digDown()
  89. length = length-1
  90. while count do
  91.     turtle.turnRight()
  92.     turtle.dig()
  93.     rednet_update()
  94.     turtle.forward()
  95.     turtle.digUp()
  96.     rednet_update()
  97.     turtle.digDown()
  98.     turtle.turnRight()
  99.     rednet_update()
  100.     turtle.dig()
  101.     turtle.forward()
  102.     rednet_update()
  103.     turtle.digUp()
  104.     turtle.digDown()
  105.     rednet_update()
  106.     turtle.dig()
  107.     turtle.forward()
  108.     rednet_update()
  109.     turtle.digUp()
  110.     turtle.digDown()
  111.     rednet_update()
  112.     turtle.turnLeft()
  113.     turtle.dig()
  114.     rednet_update()
  115.     turtle.forward()
  116.     turtle.digUp()
  117.     rednet_update()
  118.     turtle.digDown()
  119.     turtle.turnLeft()
  120.     rednet_update()
  121.     turtle.dig()
  122.     turtle.forward()
  123.     rednet_update()
  124.     turtle.digUp()
  125.     turtle.digDown()
  126.     rednet_update()
  127.     turtle.dig()
  128.     turtle.forward()
  129.     rednet_update()
  130.     turtle.digUp()
  131.     turtle.digDown()
  132.     rednet_update()
  133.     if critical == true then
  134.         while turtle.getFuelLevel() <= critical_number do
  135.             busy = false
  136.             message = "Turtle stopped... Please give more fuel"
  137.             rednet_update()
  138.             print("Not enough fuel!")
  139.             print("Please give some fuel and press a key.")
  140.             read()
  141.             shell.run("refuel all")
  142.             critical = false
  143.             busy = true
  144.         end
  145.     end
  146.     length = length-2
  147.     if length <= 3 then
  148.         count = false
  149.         print("Now I go back home")
  150.         busy = false
  151.         message = "Going back"
  152.         turtle.turnLeft()
  153.         while home do
  154.             turtle.forward()
  155.             back = back-1
  156.             rednet_update()
  157.             if back == 0 then
  158.                 turtle.turnLeft()
  159.                 turtle.forward()
  160.                 turtle.turnLeft()
  161.                 turtle.down()
  162.                 home = false
  163.                 print("Home, sweet home")
  164.                 print("Finished task")
  165.                 message = "Finished task"
  166.                 rednet_update()
  167.                 rednet.close("right")
  168.                 return
  169.             end
  170.         end
  171.     end
  172. end
Advertisement
Add Comment
Please, Sign In to add comment