Advertisement
karelvysinka

Turtle mining up down ender 2017 v.2

Aug 18th, 2017
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.10 KB | None | 0 0
  1. local version =
  2. 3.0
  3. -- Pri zmene programu je treba na radku 2 zmenit verzi, aby se program automaticky aktualizoval
  4. -- local code je treba zmenit dle potreby
  5.  
  6. --Vize - plán:
  7. -- Těžba na více stran
  8. -- Pokládání anchorů a vkládání Ender pearl pro delší těžbu
  9. -- Využití všech slotů turtly a pokládání méně často Ender Chestky / méně často vyprazdňovat
  10. -- Enderchestku na druhé straně vyprazdňovat rychleji
  11.  
  12. local code = "6sYzpt8X"
  13.  
  14. --check version
  15. term.clear()
  16. term.setCursorPos(1,1)
  17. print("Program loading...")
  18. print("Current version: "..version)
  19. local updateSite= http.get("http://pastebin.com/raw.php?i="..code)
  20. updateSite.readLine()
  21. local newVersion = updateSite.readLine()
  22. if tonumber(newVersion) > version then
  23.         print("Update required. Updating now...")
  24.         local updateSite = http.get("http://pastebin.com/raw.php?i="..code)
  25.         local siteFile = updateSite.readAll()
  26.         local writeFile = fs.open(shell.getRunningProgram(),"w")
  27.         writeFile.write(siteFile)
  28.         writeFile.close()
  29.         print("The program will now restart your computer.")
  30.         sleep(1)
  31.         os.reboot()
  32. end
  33.  
  34. function start()
  35. -- start hlavního programu
  36.  
  37. while true do
  38.  
  39. -- cyklus pro kopani xxx dolu
  40. -- turtla bude kopat dolů a posílat itemy do EnderChest
  41.  
  42. -- před startem je třeba provést ošetření/kontrolu, zda turtla nemá nad sebou Ender Chest, pokud ano, vcucni ji a dej do slotu 3
  43. -- kontrola je nutná kvůli odhlášení, či restartu serveru
  44.  
  45. turtle.select(3)  
  46. local success, data = turtle.inspectUp()
  47.  
  48. if success then
  49.     print("Block name: ", data.name)
  50.     dataEnder = data.name
  51.     print("Block metadata: ", data.metadata)
  52.     if dataEnder == "EnderStorage:enderChest" then
  53.         print("Nalezena Ender Chest")
  54.         turtle.digUp()
  55.     end
  56. end
  57.  
  58. --provedeme prvotni refuel, aby Turtla mohla dělat posun
  59. turtle.select(1)
  60. turtle.refuel()
  61. print("Proveden refuel...")
  62.  
  63.  
  64. for a=1,120,1 do
  65.     turtle.select(1)
  66.     turtle.digDown()
  67.     turtle.select(2)
  68.     turtle.dig()
  69.     turtle.down()
  70.  
  71.     --provedeme kontrolu, zda neni natezen Coal v sl. 1,2
  72.     --pokud je natezen Coal, proved Refuel
  73.     local data1 = turtle.getItemDetail()
  74.  
  75.     if data1 then
  76.         print("Item name: ", data1.name)
  77.         dataX1 = data1.name
  78.         if dataX1 == "minecraft:coal" then
  79.             print("Nalezen coal. Provedu refuel.")
  80.             turtle.refuel()
  81.         end
  82.         print("Item damage value: ", data1.damage)
  83.         print("Item count: ", data1.count)
  84.     end
  85.  
  86.     local data2 = turtle.getItemDetail()
  87.     turtle.select(2)
  88.     if data2 then
  89.         print("Item name: ", data2.name)
  90.         dataX2 = data2.name
  91.         if dataX2 == "minecraft:coal" then
  92.             print("Nalezen coal. Provedu refuel.")
  93.             turtle.refuel()
  94.         end
  95.         print("Item damage value: ", data2.damage)
  96.         print("Item count: ", data2.count)
  97.     end
  98.     turtle.select(3)
  99.     -- Enderchest musi byt umistena ve slotu 3
  100.     --poloz Ender Chest a Slot 1,2 vyprazdni do Ender Chest
  101.     turtle.placeUp()
  102.     turtle.select(1)
  103.     turtle.dropUp()
  104.     turtle.select(2)
  105.     turtle.dropUp()
  106.     --vrat Ender Chest do slotu 3
  107.     turtle.select(3)
  108.     turtle.digUp()
  109.     a=a+1
  110.     print(a)
  111.  
  112. end
  113. turtle.forward()
  114.  
  115. --vyjedeme pro jistotu o 5 výše kvuli bedrocku
  116. turtle.up()
  117. turtle.up()
  118. turtle.up()
  119. turtle.up()
  120. turtle.up()
  121.  
  122. --otocime Turtlu doprava a dig, a popojedeme dopredu,aby nejela nahoru naprazdno
  123. --turtle.turnRight()
  124. turtle.dig()
  125. turtle.forward()
  126. a=0
  127. print("Jedu nahoru")
  128.  
  129. -- cyklus pro vraceni
  130. for a=1,115,1 do
  131.     turtle.select(1)
  132.     turtle.digUp()
  133.     turtle.select(2)
  134.     turtle.dig()
  135.    
  136.     --provedeme kontrolu, zda neni natezen Coal v sl. 1,2
  137.     --pokud je natezen Coal, proved Refuel
  138.  
  139.     local data1b = turtle.getItemDetail()
  140.     turtle.select(1)
  141.     if data1b then
  142.         print("Item name: ", data1b.name)
  143.         dataX1b = data1b.name
  144.         if dataX1b == "minecraft:coal" then
  145.             print("Nalezen coal. Provedu refuel.")
  146.             turtle.refuel()
  147.         end
  148.         print("Item damage value: ", data1b.damage)
  149.         print("Item count: ", data1b.count)
  150.     end
  151.  
  152.     local data2b = turtle.getItemDetail()
  153.     turtle.select(2)
  154.     if data2b then
  155.         print("Item name: ", data2b.name)
  156.         dataX2b = data2b.name
  157.         if dataX2b == "minecraft:coal" then
  158.             print("Nalezen coal. Provedu refuel.")
  159.             turtle.refuel()
  160.         end
  161.         print("Item damage value: ", data2b.damage)
  162.         print("Item count: ", data2b.count)
  163.     end
  164.     turtle.select(3)
  165.     -- Enderchest musi byt umistena ve slotu 3
  166.     --poloz Ender Chest a Slot 1,2 vyprazdni do Ender Chest
  167.     turtle.placeUp()
  168.     turtle.select(1)
  169.     turtle.dropUp()
  170.     turtle.select(2)
  171.     turtle.dropUp()
  172.     --vrat Ender Chest do slotu 3
  173.     turtle.select(3)
  174.     turtle.digUp()
  175.     turtle.up()
  176.     a=a+1
  177.     print(a)
  178.  
  179. end
  180. --opakujeme tezbu v dalsim sloupci
  181. turtle.dig()
  182. turtle.forward()
  183. turtle.dig()
  184. turtle.forward()
  185. end
  186.  
  187. -- konec hlavního programu
  188. end
  189.  
  190.  
  191. start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement