AVTMC

minningV2

Nov 2nd, 2021 (edited)
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. Version ="1.1"
  2.  
  3. function resetScreen()
  4. term.clear()
  5. term.setCursorPos(14,1)
  6. write("Mining Turtle")
  7. term.setCursorPos(5,2)
  8. write("AVT computercraft programs")
  9. term.setCursorPos(1,13)
  10. write("By AVT, version "..Version)
  11. term.setCursorPos(1,4)
  12. end
  13.  
  14. function getInput (nature, x_screen_pos, z_screen_pos, question )
  15. if nature == "text" then
  16. repeat
  17. textOutput(question, x_screen_pos, z_screen_pos, 39)
  18. term.setCursorPos(string.len(question)+1,z_screen_pos)
  19. user_input = string.sub(string.lower(read()), 1, 1)
  20. until not (user_input == "" )
  21. elseif nature == "integer" then
  22. repeat
  23. term.setCursorPos(x_screen_pos,z_screen_pos)
  24. write(question)
  25. user_input = tonumber(read())
  26. until (user_input >= 0 and user_input <= 100)
  27. end
  28. return user_input
  29. end
  30.  
  31.  
  32. function goForward(nbMoove)
  33. for moove=1,nbMoove do
  34. while not turtle.forward() do
  35. turtle.dig()
  36. end
  37. local succes,data = turtle.inspectDown()
  38. if(data.name == "minecraft:lava") then
  39. turtle.select(1)
  40. turtle.placeDown()
  41. end
  42. local succes,data = turtle.inspectUp()
  43. if(data.name == "minecraft:lava") then
  44. turtle.select(1)
  45. turtle.placeUp()
  46. end
  47. end
  48. end
  49.  
  50. function textOutput(output_message, x_screen_pos, z_screen_pos, clear_area)
  51. term.setCursorPos(x_screen_pos,z_screen_pos)
  52. if clear_area == 0 then
  53. clear_area = string.len(output_message)
  54. end
  55. write(output_message)
  56. end
  57.  
  58. resetScreen()
  59. local hauteur = getInput( "integer", 1, 4, "Hauteur ?")
  60. term.setCursorPos(5,5)
  61. local largeur = getInput( "integer", 1, 4, "Largeur ?")
  62. term.setCursorPos(6,5)
  63. local profondeur = getInput( "integer", 1, 4, "profondeur ?")
  64. term.setCursorPos(7,5)
  65. local nbGalerie = getInput( "integer", 1, 4, "nombre de galeries ?")
  66. term.setCursorPos(7,5)
  67. local allezRetour = 0
  68. local test = hauteur -1
  69.  
  70. for g= 1, nbGalerie do
  71. for l=1,largeur do
  72. if(turtle.getFuelLevel() < 100) then
  73. turtle.select(16)
  74. turtle.refuel(turtle.getItemCount()-1)
  75. end
  76.  
  77. for h=1,test do
  78. goForward(profondeur)
  79. if (turtle.detectUp()) then
  80. turtle.digUp()
  81. end
  82. turtle.up()
  83. turtle.turnLeft()
  84. turtle.turnLeft()
  85. print("hauteur actuel"..h)
  86. end
  87. goForward(profondeur)
  88. allezRetour = allezRetour +hauteur
  89. if(l == largeur )then
  90. if (allezRetour%2 == 1) then
  91. turtle.turnLeft()
  92. turtle.turnLeft()
  93. goForward(profondeur)
  94. end
  95. else
  96. write("AllezRetour: "..allezRetour.." mod2: "..(allezRetour%2))
  97. if ( (allezRetour%2) == 1) then
  98. turtle.turnRight()
  99. turtle.dig()
  100. turtle.forward()
  101. turtle.turnRight()
  102. write("turn Right")
  103. elseif ((allezRetour%2) == 0) then
  104. turtle.turnLeft()
  105. turtle.dig()
  106. turtle.forward()
  107. turtle.turnLeft()
  108. write("turn Left")
  109. end
  110. end
  111.  
  112.  
  113. for d=1,hauteur-1 do
  114. turtle.digDown()
  115. turtle.down()
  116. end
  117. print("largeur actuel:"..l)
  118. end
  119. allezRetour = 0
  120. turtle.dig()
  121. turtle.select(2)
  122. turtle.place()
  123. for i=3,15 do
  124. turtle.select(i)
  125. turtle.drop()
  126. end
  127. turtle.turnLeft()
  128. goForward(1)
  129. for i =0, 3 do
  130. turtle.digUp()
  131. turtle.up()
  132. end
  133. goForward(1)
  134. for i =0, 3 do
  135. turtle.digDown()
  136. turtle.down()
  137. end
  138. goForward(1)
  139. turtle.turnLeft()
  140. end
  141.  
Add Comment
Please, Sign In to add comment