Advertisement
Bendix

Chunk-Schacht nach oben

May 2nd, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.05 KB | None | 0 0
  1. --Gräbt einen Schacht NACH OBEN der 16 Beit und 16 Weit ist bis zum Bedrock (Nether)
  2. print("in 1 den Treibstoff")
  3. print("in 2 die Fackeln")
  4.  
  5. weit = 16
  6. --breit nur die haelfte da immer vor und zurueck
  7. breit = 8
  8. --print("wie tief?")
  9. hoch = io.read()
  10. local tief=0
  11. local badrock = "minecraft:badrock"
  12. local maxerreicht  = false
  13.  
  14.  
  15. function inspectDown()
  16. local successDown, dataDown = turtle.inspectDown()
  17. --if successDown then print("Unten:", dataDown.name) end
  18. return dataDown.name
  19. end
  20. function inspectUp()
  21. local successUp, dataUp = turtle.inspectUp()
  22. --if successUp then print("Oben:", dataUp.name) end
  23. return dataUp.name
  24. end
  25. function inspectFront()
  26. local successFront, dataFront =  turtle.inspect()
  27. --if successFront then print("Vorne:", dataFront.name) end
  28. return dataFront.name
  29. end
  30.  
  31. function inspect()
  32. inspectUp()
  33. inspectDown()
  34. inspectFront()
  35. end
  36.  
  37.  
  38.  
  39.  
  40.  
  41. --print(dataDown.name)
  42. --print(dataDown.metadata)
  43. --print(dataUp.name)
  44. --print(dataUp.metadata)
  45. --print(dataFront.name)
  46. --print(dataFront.metadata)
  47.  
  48. --if dataDown.name == "minecraft:stone" then
  49. --  turtle.select(16)
  50. --  turtle.digDown()
  51. --  turtle.drop()
  52. --end
  53. function digUp()
  54.   ergebnis = inspectUp()
  55.   if turtle.getItemCount(16) == 0 then
  56.     if ergebnis == "minecraft:stone" or ergebnis== "minecraft:dirt" or ergebnis=="minecraft:cobblestone" or ergebnis=="minecraft:gravel" or ergebnis =="minecraft:netherrack" then
  57.       turtle.select(16)
  58.       while turtle.detectUp() == true do
  59.         turtle.digUp()
  60.         turtle.attack()
  61.         sleep(0.5)
  62.         turtle.drop()
  63.       end
  64.       turtle.drop()
  65.     else
  66.       turtle.select(3)
  67.       turtle.digUp()
  68.     end
  69.   end
  70.  -- print("DigUp ", ergebnis)
  71. end
  72.  
  73. function digFront()
  74.   ergebnis = inspectFront()
  75.   if turtle.getItemCount(16) == 0 then
  76.     if ergebnis == "minecraft:stone" or ergebnis== "minecraft:dirt" or ergebnis=="minecraft:cobblestone" or ergebnis=="minecraft:gravel" or ergebnis=="minecraft:netherrack" then
  77.       turtle.select(16)
  78.       while turtle.detect() == true do
  79.         turtle.dig()
  80.         turtle.attack()
  81.         sleep(0.5)
  82.         turtle.drop()
  83.       end
  84.       turtle.drop()
  85.     else
  86.       turtle.select(3)
  87.       turtle.dig()
  88.     end
  89.   end
  90. --  print("digFront ", ergebnis)
  91. end
  92.  
  93. function digDown()
  94.   ergebnis = inspectDown()
  95.   if turtle.getItemCount(16) == 0 then
  96.     if ergebnis == "minecraft:stone" or ergebnis== "minecraft:dirt" or ergebnis=="minecraft:cobblestone" or ergebnis=="minecraft:gravel" or ergebnis=="minecraft:netherrack" then
  97.       turtle.select(16)
  98.       while turtle.detectDown() == true do
  99.         turtle.digDown()
  100.         turtle.attack()
  101.         sleep(0.5)
  102.         turtle.drop()
  103.       end
  104.       turtle.drop()
  105.     else
  106.       Fackel = inspectDown()
  107.       if Fackel ~= "minecraft:torch" then
  108.         turtle.select(3)
  109.         turtle.digDown()
  110.       end
  111.     end
  112.   end
  113. --  print("digDown ", ergebnis)
  114. end
  115.  
  116.  
  117.  
  118. if turtle.getItemCount(16) ~= 0 then turtle.select(16) turtle.drop() end
  119.  
  120. function fuel()
  121.   while turtle.getFuelLevel() < 5000 do
  122.     turtle.select(1)
  123.     turtle.refuel(1)
  124.     print(turtle.getFuelLevel())
  125.   end
  126. end
  127. function forward()
  128.   while turtle.forward() == false do
  129.     digFront()
  130.     turtle.attack()
  131.   end
  132. end
  133. function down()
  134.   while turtle.down() == false do
  135.    
  136.   end
  137.   tief=tief+1
  138. end
  139. function up()
  140.   while turtle.up() == false do
  141.   end
  142.   tief=tief-1
  143. end
  144.  
  145. function unload()
  146.   for x=3,16 do
  147.     turtle.select(x)
  148.     turtle.dropUp()
  149.   end
  150.     fuel()
  151. end
  152.  
  153. function torch()
  154.   turtle.select(2)
  155.   turtle.placeDown()
  156.   print("torch")
  157. end
  158. fuel()
  159. --sitzt auf der Kiste
  160.  forward()
  161. loops = 0
  162. while false == false do
  163. --while loops <= 1 do
  164.  
  165.   fuel()
  166.   loops=loops+1
  167.   for x=1,breit do
  168.     for y=1,weit do
  169.       digFront()
  170.       forward()
  171.       digUp()
  172.       untergrund = inspectDown()
  173.       if untergrund ~= badrock then
  174.         digDown()
  175.        end
  176.     end
  177.     turtle.turnRight()
  178.     digFront()
  179.     forward()
  180.     digUp()
  181.     digDown()
  182.     turtle.turnRight()
  183.     for y=1,weit do
  184.       digFront()
  185.       forward()
  186.       digUp()
  187.       digDown()
  188.     end
  189.     if x ~= breit then
  190.       print( "x liegt bei", x)
  191.       turtle.turnLeft()
  192.       digFront()
  193.       forward()
  194.       digUp()
  195.       turtle.turnLeft()
  196.       untergrund = inspectDown()
  197.       if untergrund ~= badrock then
  198.         digDown()
  199.       end
  200.     else
  201.       maxerreicht = true
  202.       turtle.turnRight()
  203.       print ("wir haben badrock erreicht")
  204.     end
  205.   end
  206.   for x=1,breit*2-1 do
  207.    forward()
  208.   end
  209.   turtle.turnLeft()
  210.   wiederhoch = tief
  211.   print(tief, " felder tief")
  212.   for z=1,wiederhoch, -1 do
  213.     digDown()
  214.     down()
  215.     print("gehe", wiederhoch)
  216.   end
  217. --turtle.turnLeft()
  218.   forward()
  219.   unload()
  220.   turtle.turnLeft()
  221.   turtle.turnLeft()
  222.   if maxerreicht ~= true then
  223.   print("max erreicht")
  224.   else
  225.   print("max nicht erreicht")
  226.     turtle.forward()
  227.     wiederrunter = wiederhoch
  228.     for z=1,wiederrunter,-1 do
  229.       up()
  230.     end
  231.   end
  232.  -- for bla=0,loops-1 do
  233. --    print(bla, "loops gemacht")
  234.     digUp()
  235.     up()
  236.     digUp()
  237.     up()
  238.     digUp()
  239.     up()
  240. --  end
  241. end
  242. for a=1,tief+2, -1 do
  243. down()
  244. end
  245. turtle.back()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement