tknight98

Program

May 3rd, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.06 KB | None | 0 0
  1. -- This Version
  2. -- 2.13 10/11/2014
  3. -- ChangeLogs
  4. -- 2.04 - Adding Left or Right Support
  5. -- 2.05 - Changing Lot Code For Some Stable And Cleaner Code
  6. -- 2.06 - Ops Forget Fuel Chcking Code after rewrtitting
  7. -- 2.07 - Woops My Bad i wrote back() not Back()
  8. -- 2.08 - Fixing Imputs
  9. -- 2.09 - Forget That i change remove line of code since i use local function now
  10. -- 2.10 - Minor error with back that it leave one block in wall
  11. --        Change: Torch spacing to 8 from 10
  12. -- 2.11 - Change: Right to left and Left to Right better understand
  13. -- 2.12 - Add Stop Code when item are gone
  14. -- 2.13 - i made big mistake i forget to end to new stop code
  15. -- ToDoList
  16. -- Add Code to place torch each time it starts
  17. -- Add Fuel Code so can know almost how much fuel you need
  18. -- Add second fuel slot if you go allout diggin
  19. -- Mabye add code that make turtle make new line of tunnels
  20.  
  21. --Local
  22. local distance = 0 -- How Far Did User Pick
  23. local onlight = 0 -- When to Place Torch
  24. local torch = turtle.getItemCount(1) -- How many items are in slot 1 (torch)
  25. local chest = turtle.getItemCount(2) -- How many items are in slot 2 (chest)
  26. local ItemFuel = turtle.getItemCount(3) -- How many items are in slot 3 (Fuel)
  27. local MD = 3 -- How Many Blocks Apart From Each Mine
  28. local MineTimes = 0 -- If Multi Mines Are ON then This will keep Count
  29. local Fuel = 0 -- if 2 then it is unlimited no fuel needed
  30. local NeedFuel = 0 -- If Fuel Need Then 1 if not Then 0
  31. local Error = 0 -- 0 = No Error and 1 = Error
  32. local Way = 0 -- 0 = Left and 1 = Right
  33.  
  34. --Checking
  35. local function Check()
  36.         if torch == 0 then
  37.                 print("There are no torch's in Turtle")
  38.                 Error = 1
  39.         else
  40.                 print("There are torch's in turtle")
  41.         end
  42.         if chest == 0 then
  43.                 print("there are no chests")
  44.                 Error = 1
  45.         else
  46.                 print("There are chest in turtle")
  47.         end
  48.         if ItemFuel == 0 then
  49.                 print("No Fuel Items")
  50.                 error = 1
  51.         else
  52.                 print("there is fuel")
  53.         end
  54.         repeat
  55.                 if turtle.getFuelLevel() == "unlimited" then
  56.                         print("NO NEED FOR FUEL")
  57.                         Needfuel = 0
  58.                 elseif turtle.getFuelLevel() < 100 then
  59.                         turtle.select(3)
  60.                         turtle.refuel(1)
  61.                         Needfuel = 1
  62.                         ItemFuel = ItemFuel - 1
  63.                 elseif NeedFuel == 1 then
  64.                         Needfuel = 0
  65.                 end
  66.         until NeedFuel == 0
  67. end
  68.  
  69. -- Recheck if user forget something turtle will check after 15 sec
  70. local function Recheck()
  71.         torch = turtle.getItemCount(1)
  72.         chest = turtle.getItemCount(2)
  73.         ItemFuel = turtle.getItemCount(3)
  74.         Error = 0
  75. end
  76.  
  77. --Mining
  78. local function ForwardM()
  79.         repeat
  80.                 if turtle.detect() then
  81.                         turtle.dig()
  82.                 end
  83.                 if turtle.forward() then -- sometimes sand and gravel and block and mix-up distance
  84.                         TF = TF - 1
  85.                         onlight = onlight + 1
  86.                 end
  87.                 if turtle.detectUp() then
  88.                         turtle.digUp()
  89.                 end
  90.                 turtle.select(4)
  91.                 turtle.placeDown()
  92.                 if onlight == 8 then -- Every 10 Block turtle place torch
  93.                         if torch > 0 then
  94.                                 turtle.turnLeft()
  95.                                 turtle.turnLeft()
  96.                                 turtle.select(1)
  97.                                 turtle.place()
  98.                                 turtle.turnLeft()
  99.                                 turtle.turnLeft()
  100.                                 torch = torch - 1
  101.                                 onlight = onlight - 8
  102.                         else
  103.                                 print("turtle run out of torchs")
  104.                                 os.shutdown()
  105.                         end
  106.                 end
  107.                 if turtle.getItemCount(16)>0 then -- If slot 16 in turtle has item slot 5 to 16 will go to chest
  108.                         if chest > 0 then
  109.                                 turtle.select(2)
  110.                                 turtle.digDown()
  111.                                 turtle.placeDown()
  112.                                 chest = chest - 1
  113.                                 for slot = 5, 16 do
  114.                                         turtle.select(slot)
  115.                                         turtle.dropDown()
  116.                                         sleep(1.5)
  117.                                 end
  118.                                 turtle.select(5)
  119.                         else
  120.                                 print("turtle run out of chest")
  121.                                 os.shutdown()
  122.                         end
  123.                 end
  124.                 repeat
  125.                         if turtle.getFuelLevel() == "unlimited" then
  126.                                 print("NO NEED FOR FUEL")
  127.                                 Needfuel = 0
  128.                         elseif turtle.getFuelLevel() < 100 then
  129.                                 turtle.select(3)
  130.                                 turtle.refuel(1)
  131.                                 Needfuel = 1
  132.                                 ItemFuel = ItemFuel - 1
  133.                         elseif ItemFuel == 0 then
  134.                                 print("turtle run out of fuel")
  135.                                 os.shutdown()
  136.                         elseif NeedFuel == 1 then
  137.                                 Needfuel = 0
  138.                         end
  139.                 until NeedFuel == 0
  140.         until TF == 0
  141. end
  142.  
  143. --Warm Up For Back Program
  144. local function WarmUpForBackProgram() -- To make turn around so it can go back
  145.         turtle.turnLeft()
  146.         turtle.turnLeft()
  147.         turtle.up()
  148. end
  149.  
  150. --Back Program
  151. local function Back()
  152.         repeat
  153.                 if turtle.forward() then -- sometimes sand and gravel and block and mix-up distance
  154.                         TB = TB - 1
  155.                 end
  156.                 if turtle.detect() then -- Sometimes sand and gravel can happen and this will fix it
  157.                         if TB ~= 0 then
  158.                                 turtle.dig()
  159.                         end
  160.                 end
  161.         until TB == 0
  162. end
  163.  
  164. -- Multimines Program
  165. local function MultiMines()
  166.         if Way == 1 then
  167.                 turtle.turnLeft()
  168.                 turtle.down()
  169.         else
  170.                 turtle.turnRight()
  171.                 turtle.down()
  172.         end
  173.         repeat
  174.                 if turtle.detect() then
  175.                         turtle.dig()
  176.                 end
  177.                 if turtle.forward() then
  178.                         MD = MD - 1
  179.                 end
  180.                 if turtle.detectUp() then
  181.                         turtle.digUp()
  182.                 end
  183.         until MD == 0
  184.         if Way == 1 then
  185.                 turtle.turnLeft()
  186.         else
  187.                 turtle.turnRight()
  188.         end
  189.         if MineTimes == 0 then
  190.                 print("Turtle is done")
  191.         else
  192.                 MineTimes = MineTimes - 1
  193.         end
  194. end
  195.  
  196. -- Restart
  197. local function Restart()
  198.         TF = distance
  199.         TB = distance
  200.         MD = 3
  201.         onlight = 0
  202. end
  203.  
  204. -- Starting
  205. function Start()
  206.         repeat
  207.                 ForwardM()
  208.                 WarmUpForBackProgram()
  209.                 Back()
  210.                 MultiMines()
  211.                 Restart()
  212.         until MineTimes == 0
  213. end
  214.  
  215. -- Start
  216. print("Hi There Welcome to Mining Turtle Program")
  217. print("How Far Will Turtle Go")
  218. input = io.read()
  219. distance = tonumber(input)
  220. TF = distance
  221. TB = distance
  222. print("Left or Right")
  223. print("0 = Left and 1 = Right")
  224. input2 = io.read()
  225. Way = tonumber(input2)
  226. print("How Many Times")
  227. input3 = io.read()
  228. MineTimes = tonumber(input3)
  229. Check()
  230. if Error == 1 then
  231.         repeat
  232.                 sleep(10)
  233.                 Recheck()
  234.                 Check()
  235.         until Error == 0
  236. end
  237. Start()
Add Comment
Please, Sign In to add comment