Advertisement
karelvysinka

Turtle mining 2018 ENDER + coal ready

Aug 26th, 2018
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.15 KB | None | 0 0
  1. local version =
  2. 5.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 = "bxrSpssk"
  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. -- nastavíme hloubku kopani
  38. local hlb = 50
  39.  
  40. while true do
  41.  
  42. -- cyklus pro kopani xxx dolu
  43. -- turtla bude kopat dolů a posílat itemy do EnderChest
  44.  
  45. -- 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
  46. -- kontrola je nutná kvůli odhlášení, či restartu serveru
  47.  
  48. turtle.select(3)  
  49. local success, data = turtle.inspectUp()
  50.  
  51. if success then
  52.     print("Block name: ", data.name)
  53.     dataEnder = data.name
  54.     print("Block metadata: ", data.metadata)
  55.     if dataEnder == "EnderStorage:enderChest" then
  56.         print("Nalezena Ender Chest")
  57.         turtle.digUp()
  58.     end
  59. end
  60.  
  61. --provedeme prvotni refuel, aby Turtla mohla dělat posun
  62. turtle.select(1)
  63. turtle.refuel()
  64. print("Proveden refuel...")
  65.  
  66.  
  67. for a=1,hlb,1 do
  68.     turtle.select(1)
  69.     turtle.digDown()
  70.     turtle.select(2)
  71.     turtle.dig()
  72.     turtle.down()
  73.  
  74.     --provedeme kontrolu, zda neni natezen Coal v sl. 1,2
  75.     --pokud je natezen Coal, proved Refuel
  76.     local data1 = turtle.getItemDetail()
  77.  
  78.     if data1 then
  79.         print("Item name: ", data1.name)
  80.         dataX1 = data1.name
  81.         if dataX1 == "minecraft:coal" then
  82.             print("Nalezen coal. Provedu refuel.")
  83.             turtle.refuel()
  84.         end
  85.         print("Item damage value: ", data1.damage)
  86.         print("Item count: ", data1.count)
  87.     end
  88.  
  89.     local data2 = turtle.getItemDetail()
  90.     turtle.select(2)
  91.     if data2 then
  92.         print("Item name: ", data2.name)
  93.         dataX2 = data2.name
  94.         if dataX2 == "minecraft:coal" then
  95.             print("Nalezen coal. Provedu refuel.")
  96.             turtle.refuel()
  97.         end
  98.         print("Item damage value: ", data2.damage)
  99.         print("Item count: ", data2.count)
  100.     end
  101.     turtle.select(3)
  102.     -- Enderchest musi byt umistena ve slotu 3
  103.     --poloz Ender Chest a Slot 1,2 vyprazdni do Ender Chest
  104.     turtle.placeUp()
  105.     turtle.select(1)
  106.     turtle.dropUp()
  107.     turtle.select(2)
  108.     turtle.dropUp()
  109.     --vrat Ender Chest do slotu 3
  110.     turtle.select(3)
  111.     turtle.digUp()
  112.     a=a+1
  113.     print(a)
  114.  
  115. end
  116. turtle.forward()
  117.  
  118. --vyjedeme pro jistotu o 5 výše kvuli bedrocku
  119. turtle.up()
  120. turtle.up()
  121. turtle.up()
  122. turtle.up()
  123. turtle.up()
  124.  
  125. --otocime Turtlu doprava a dig, a popojedeme dopredu,aby nejela nahoru naprazdno
  126. --turtle.turnRight()
  127. turtle.dig()
  128. turtle.forward()
  129. a=0
  130. print("Jedu nahoru")
  131.  
  132. -- cyklus pro vraceni
  133. for a=1,hlb,1 do
  134.     turtle.select(1)
  135.     turtle.digUp()
  136.     turtle.select(2)
  137.     turtle.dig()
  138.    
  139.     --provedeme kontrolu, zda neni natezen Coal v sl. 1,2
  140.     --pokud je natezen Coal, proved Refuel
  141.  
  142.     local data1b = turtle.getItemDetail()
  143.     turtle.select(1)
  144.     if data1b then
  145.         print("Item name: ", data1b.name)
  146.         dataX1b = data1b.name
  147.         if dataX1b == "minecraft:coal" then
  148.             print("Nalezen coal. Provedu refuel.")
  149.             turtle.refuel()
  150.         end
  151.         print("Item damage value: ", data1b.damage)
  152.         print("Item count: ", data1b.count)
  153.     end
  154.  
  155.     local data2b = turtle.getItemDetail()
  156.     turtle.select(2)
  157.     if data2b then
  158.         print("Item name: ", data2b.name)
  159.         dataX2b = data2b.name
  160.         if dataX2b == "minecraft:coal" then
  161.             print("Nalezen coal. Provedu refuel.")
  162.             turtle.refuel()
  163.         end
  164.         print("Item damage value: ", data2b.damage)
  165.         print("Item count: ", data2b.count)
  166.     end
  167.     turtle.select(3)
  168.     -- Enderchest musi byt umistena ve slotu 3
  169.     --poloz Ender Chest a Slot 1,2 vyprazdni do Ender Chest
  170.     turtle.placeUp()
  171.     turtle.select(1)
  172.     turtle.dropUp()
  173.     turtle.select(2)
  174.     turtle.dropUp()
  175.     --vrat Ender Chest do slotu 3
  176.     turtle.select(3)
  177.     turtle.digUp()
  178.     turtle.up()
  179.     a=a+1
  180.     print(a)
  181.  
  182. end
  183. --opakujeme tezbu v dalsim sloupci
  184. turtle.dig()
  185. turtle.forward()
  186. turtle.dig()
  187. turtle.forward()
  188. end
  189.  
  190. -- konec hlavního programu
  191. end
  192.  
  193.  
  194. start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement