ledondegrelle

Untitled

Jun 21st, 2022
877
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.75 KB | None | 0 0
  1. local niveauFuelMini = 20                               -- niveau de déplacements auquel on doit refaire le plein de fuel
  2. local niveauCharbonMini = 10                             -- quantité de charbons restants à laquelle on doit refaire le plein de charbon
  3. local premierSlot = 1                                   -- premier slot où se trouve le minerai ramassé
  4. local dernierSlot = 13                                  -- dernier slot à surveiller pour enclencher le vidage de l'inventaire
  5. local enderchestSlot = 14                               -- slot où se trouve l'enderchest pour les minerais
  6. local enderchestCharbonSlot = 15                        -- slot où se trouve l'enderchest pour le charbon
  7. local charbonSlot = 16                                  -- slot ou est stocké le charbon
  8.  
  9.  
  10. function compare_mine()  
  11.  
  12. turtle.turnLeft()
  13.  
  14. local success, data = turtle.inspect()
  15. if (data.name~="minecraft:dirt" and data.name ~="minecraft:stone" and data.name ~="minecraft:gravel") then
  16.     turtle.dig()
  17.     videInventaire()
  18. end
  19.  
  20. turtle.turnLeft()
  21. turtle.turnLeft()
  22.  
  23. success, data = turtle.inspect()
  24. if (data.name~="minecraft:dirt" and data.name ~="minecraft:stone" and data.name ~="minecraft:gravel") then
  25.         turtle.dig()
  26.         videInventaire()
  27. end
  28.  
  29. turtle.turnLeft()
  30.  
  31. success, data = turtle.inspectUp()
  32. if (data.name~="minecraft:dirt" and data.name ~="minecraft:stone" and data.name ~="minecraft:gravel") then
  33.         turtle.digUp()
  34.         videInventaire()
  35. end
  36.  
  37. success, data = turtle.inspectDown()
  38. if (data.name~="minecraft:dirt" and data.name ~="minecraft:stone" and data.name ~="minecraft:gravel") then
  39.         turtle.digDown()
  40.         videInventaire()
  41. end  
  42.  
  43. end
  44.  
  45.  
  46. function verifFuel()      
  47. -- verifier si il nous reste du charbon, sinon en reprendre, après, se refuel  
  48.  
  49. if (turtle.getFuelLevel() < niveauFuelMini) then -- On a besoin de faire le plein
  50. --    if (turtle.getItemCount(charbonSlot) < niveauCharbonMini) then
  51. --        turtle.dig()
  52. --        while turtle.detect() do turtle.dig() end
  53. --        videInventaire()
  54. --        turtle.select(enderchestCharbonSlot)
  55. --        turtle.place()
  56. --        turtle.select(charbonSlot)
  57. --        turtle.suck()
  58. --        turtle.select(enderchestCharbonSlot)
  59. --        turtle.dig()
  60. --    end
  61.     turtle.select(charbonSlot)
  62.     turtle.refuel(1)
  63. end
  64. end
  65.  
  66. function videInventaire()                              
  67. -- vide l'inventaire de la tortue dans l'enderchest
  68.  
  69.  
  70. if (turtle.getItemCount(dernierSlot-1) > 0) then  -- on vérifie si on doit vider l'inventaire de la tortue
  71.     print("vidage inventaire")
  72.     turtle.dig()
  73.     while turtle.detect() do turtle.dig() end
  74.     turtle.select(enderchestSlot)
  75.     turtle.place()
  76.     local slot  
  77.     for slot=premierSlot,dernierSlot do
  78.         turtle.select(slot)
  79.         while turtle.getItemCount(slot) > 0 do
  80.             turtle.drop(turtle.getItemCount(slot))
  81.             if turtle.getItemCount(slot) > 0 then
  82.                 sleep(0.5)
  83.             end
  84.         end
  85.     end
  86.     turtle.select(enderchestSlot)
  87.     turtle.dig()
  88. end
  89.  
  90. end
  91.  
  92. --********************************************--
  93. --********** Programme principal *************--
  94. --********************************************--
  95.  
  96. local nbtrou = 1
  97. local longeur = 200
  98. local profondeur = 200
  99.  
  100. while nbtrou~=0  do
  101.  
  102.     profondeur = longeur
  103.     print("debut d'une nouvelle ligne")
  104.     while profondeur>0 do
  105.  
  106.         turtle.dig()
  107.         while turtle.detect() do turtle.dig() end
  108.         turtle.forward()
  109.         sleep(0.05)
  110.         turtle.digUp()
  111.         sleep(0.05)
  112.         profondeur = profondeur -1
  113. --      compare_mine()
  114.         sleep(0.05)
  115.         verifFuel()              
  116.  
  117.     end
  118.  
  119.     print("fin du tunel, je tourne ")
  120.     turtle.turnLeft()
  121.     turtle.dig()
  122.     while turtle.detect() do turtle.dig() end
  123.     turtle.forward()
  124.     turtle.digUp()
  125.     turtle.dig()
  126.     while turtle.detect() do turtle.dig() end
  127.     turtle.forward()
  128.     turtle.digUp()
  129.     turtle.dig()
  130.     while turtle.detect() do turtle.dig() end
  131.     turtle.forward()
  132.     turtle.digUp()
  133.     turtle.turnLeft()
  134.  
  135.     profondeur = longeur
  136.     print("debut du retour")
  137.  
  138.     while profondeur>0 do
  139.  
  140.         turtle.dig()
  141.         while turtle.detect() do turtle.dig() end
  142.         turtle.forward()
  143.         sleep(0.05)
  144.         turtle.digUp()
  145.         sleep(0.05)
  146.         profondeur = profondeur -1
  147. --        compare_mine()
  148.         verifFuel()              
  149.  
  150.     end
  151.  
  152.     turtle.turnRight()
  153.     turtle.dig()
  154.     while turtle.detect() do turtle.dig() end
  155.     turtle.forward()
  156.     turtle.dig()
  157.     while turtle.detect() do turtle.dig() end
  158.     turtle.forward()
  159.     turtle.dig()
  160.     while turtle.detect() do turtle.dig() end
  161.     turtle.forward()
  162.     turtle.turnRight()
  163.     nbtrou=nbtrou-1
  164. end
Advertisement
Add Comment
Please, Sign In to add comment