ledondegrelle

mineopti2

Feb 19th, 2020
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.07 KB | None | 0 0
  1. local direction = 0 -- direction
  2. local drapeauBedrock = false -- indicateur pour savoir si on est arrivé à la bedrock
  3. local profondeur = 0 -- indique de combien on a creusé
  4. local niveauFuelMini = 15 -- niveau de déplacements auquel on doit refaire le plein de fuel
  5. local niveauCharbonMini = 5 -- quantité de charbons restants à laquelle on doit refaire le plein de charbon
  6.  
  7. local premierSlot = 4 -- premier slot où se trouve le minerai ramassé
  8. local dernierSlot = 13 -- dernier slot à surveiller pour enclencher le vidage de l'inventaire
  9. local enderchestSlot = 14 -- slot où se trouve l'enderchest pour les minerais
  10. local enderchestCharbonSlot = 15 -- slot où se trouve l'enderchest pour le charbon
  11. local charbonSlot = 16 -- slot ou est stocké le charbon
  12.  
  13.  
  14. function compare_mine() -- fonction qui compare et mine, tourne à droite et direction++
  15.  
  16. local slot = 0
  17. for slot=1,3 do
  18. turtle.select(slot)
  19. if turtle.compare() then
  20. return false
  21. end
  22. end
  23. return true
  24. end
  25.  
  26.  
  27. function verifFuel() -- vérifie si on a assez de fuel (déplacements) en réserve.
  28. -- 1 charbon = 80 deplacements; on vérifie le niveau de fuel
  29.  
  30. if (turtle.getFuelLevel() < niveauFuelMini) then -- On a besoin de faire le plein
  31. if (turtle.getItemCount(charbonSlot) < niveauCharbonMini) then
  32. if turtle.dig() == false then -- si on n'arrive pas à creuser, alors c'est la bedrock
  33. print("bedrock !")
  34. end
  35. videInventaire()
  36. turtle.select(enderchestCharbonSlot)
  37. turtle.place()
  38. turtle.select(charbonSlot)
  39. turtle.suck()
  40. turtle.select(enderchestCharbonSlot)
  41. turtle.dig()
  42. end
  43. turtle.select(charbonSlot)
  44. turtle.refuel(1) -- on recharge pour 96 deplacements
  45. end
  46.  
  47. end
  48.  
  49. function videInventaire() -- vide l'inventaire de la tortue dans l'enderchest dédié à ça
  50.  
  51.  
  52. if (turtle.getItemCount(dernierSlot-1) > 0) then -- on vérifie si on doit vider l'inventaire de la tortue
  53. print("vidage inventaire rech_charbon1; prof "..profondeur.." ; nbitem ds slot "..dernierSlot.." : "..turtle.getItemCount(dernierSlot).." ; ")
  54. if turtle.dig() == false then -- si on n'arrive pas à creuser, alors c'est la bedrock
  55. print("bedrock !")
  56. end
  57. local slot
  58. turtle.select(enderchestSlot)
  59. turtle.place()
  60. for slot=premierSlot,dernierSlot do
  61. turtle.select(slot)
  62. while turtle.getItemCount(slot) > 0 do
  63. turtle.drop(turtle.getItemCount(slot))
  64. if turtle.getItemCount(slot) > 0 then
  65. sleep(0.5)
  66. end
  67. end
  68. end
  69. turtle.select(enderchestSlot)
  70. turtle.dig()
  71. end
  72.  
  73. end
  74.  
  75. --********************************************--
  76. --********** Programme principal *************--
  77. --********************************************--
  78.  
  79. local nbtrou = 10
  80. local longueur = 100
  81.  
  82. while nbtrou~=0 do
  83.  
  84. profondeur = longueur
  85.  
  86. while profondeur > 0 do
  87. turtle.dig()
  88. videInventaire()
  89. turtle.forward()
  90. sleep(0.2)
  91. turtle.digUp()
  92. turtle.digDown()
  93. verifFuel()
  94. profondeur = profondeur-1
  95. end
  96.  
  97. print("fin du tunel, je tourne")
  98.  
  99. turtle.turnLeft()
  100. turtle.dig()
  101. turtle.forward()
  102. sleep(0.2)
  103. turtle.digUp()
  104. turtle.digDown()
  105.  
  106. turtle.dig()
  107. turtle.forward()
  108. sleep(0.2)
  109. turtle.digUp()
  110. turtle.digDown()
  111.  
  112. turtle.dig()
  113. turtle.forward()
  114. sleep(0.2)
  115. turtle.digUp()
  116. turtle.digDown()
  117. turtle.turnLeft()
  118.  
  119. profondeur = longueur
  120.  
  121. while profondeur > 0 do
  122. turtle.dig()
  123. videInventaire()
  124. turtle.forward()
  125. sleep(0.2)
  126. turtle.digUp()
  127. turtle.digDown()
  128. verifFuel()
  129. profondeur = profondeur-1
  130. end
  131.  
  132. print("fin de boucle, je continue")
  133.  
  134. turtle.turnRight()
  135. turtle.dig()
  136. turtle.forward()
  137. sleep(0.2)
  138. turtle.digUp()
  139. turtle.digDown()
  140.  
  141. turtle.dig()
  142. turtle.forward()
  143. sleep(0.2)
  144. turtle.digUp()
  145. turtle.digDown()
  146.  
  147. turtle.dig()
  148. turtle.forward()
  149. sleep(0.2)
  150. turtle.digUp()
  151. turtle.digDown()
  152. turtle.turnRight()
  153.  
  154. nbtrou = nbtrou-1
  155.  
  156. end
  157. print("fin du travail")
Advertisement
Add Comment
Please, Sign In to add comment