Advertisement
Guest User

spiral

a guest
Nov 20th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.37 KB | None | 0 0
  1. function dig()
  2. while turtle.detect() do
  3. os.sleep(0.1)
  4. turtle.dig()
  5. if turtle.attack() then
  6. turtle.dig()
  7. end
  8. end
  9. fuelCheck()
  10. chest()
  11. turtle.forward()
  12. turtle.digUp()
  13. end
  14.  
  15. function digShaft(size)
  16. for i=1,size do
  17. dig()
  18. end
  19. end
  20.  
  21. function chest2()
  22. turtle.dig()
  23. turtle.forward()
  24. turtle.digUp()
  25. turtle.up()
  26. turtle.select(2)
  27. if turtle.getItemDetail().name ~= "minecraft:chest" or turtle.getItemDetail().name == nil then
  28.  print("I've run out of chests!")
  29.  rednet.broadcast(os.getComputerLabel() .. ": I'm out of chests!")
  30.  while true do
  31.   if turtle.getItemDetail().name == "minecraft:chest" then
  32.    break
  33.   end
  34.   os.sleep(10)
  35.  end
  36. end
  37. turtle.placeDown()
  38. local slot = 3
  39. for i = 1,14 do
  40.     turtle.select(slot)
  41.     turtle.dropDown()
  42.     slot = slot + 1
  43. end
  44. slot = 3
  45. turtle.select(3)
  46. end
  47.  
  48.  
  49. function fuelCheck()
  50.     local f = turtle.getFuelLevel()
  51.     if f < 50 then
  52.         turtle.select(1)
  53.         turtle.refuel(10)
  54.         local rfl = turtle.refuel()
  55.         if rfl == false then
  56.             print("No fuel in slot 1!")
  57.             rednet.broadcast(os.getComputerLabel .. ": I'm out of fuel!")
  58.             print("Have you inserted more fuel?")
  59.             local rfld = read()
  60.             if string.find(rfld,'[yY]') == 1 then
  61.              turtle.refuel()
  62.             end
  63.         end
  64.     end
  65.     turtle.select(3)
  66. end
  67.                
  68. function chest()
  69. local chk16 = turtle.getItemCount(16)
  70. if chk16 ~= 0 then
  71.     turtle.turnLeft()
  72.     if not turtle.detect() then
  73.         turtle.turnRight()
  74.         turtle.turnRight()
  75.         chest2()
  76.         turtle.turnLeft()
  77.         turtle.turnLeft()
  78.         turtle.forward()
  79.         turtle.turnRight()
  80.         turtle.down()
  81.     end
  82.     if turtle.detect() then
  83.         chest2()
  84.         turtle.turnRight()
  85.         turtle.turnRight()
  86.         turtle.forward()
  87.         turtle.turnLeft()
  88.         turtle.down()
  89.     end
  90.     turtle.select(1)
  91. end
  92. end    
  93.  
  94. print("Please put fuel in slot 1, and chests in slot 2.")
  95. print("Current fuel level is: ")print(turtle.getFuelLevel())
  96.  
  97.  
  98. print("What is the size of the spiral quarry?")
  99. local qSize = tonumber(read())
  100.  
  101. for k=1,3 do
  102. digShaft(3*qSize)
  103. turtle.turnLeft()
  104. end
  105.  
  106. while qSize > 0 do
  107.  
  108. qSize = qSize -1
  109. for i=1,2 do
  110. digShaft(3*qSize)
  111. turtle.turnLeft()
  112. end
  113. end
  114. print("All done!")
  115. rednet.broadcast(os.getComputerLabel() .. ": I'm finished the spiral mine!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement