Advertisement
BIuDecoder

v.1.5 Stripmining Turtle Enderchest Model

Jun 23rd, 2015
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.80 KB | None | 0 0
  1.     -- Update 1.5 Advanced Turtle:
  2.     --      -Text des Interfaces ergänzt
  3.     --      -Die Turtle kann jetzt mit Enderchests arbeiten (Nur mit Enderstorage kompatibel)
  4.     --      -Wenn keine Fackeln eingesetzt werden wird der Fackelslot nicht mehr mit Blöcken belegt die
  5.     --       bei Programmende nicht entleert werden
  6.        
  7.        
  8.          --Variablen
  9.                  
  10.                  zaehler=1
  11.                  gangZaehler=1
  12.          
  13.          --Methoden
  14.                  
  15.          
  16.          function move3vor()     --Gräbt sich 3 mal nach vorne
  17.              for e=1,3 do
  18.                  turtle.attack()
  19.                  turtle.dig()
  20.                  while turtle.detect()==true do
  21.                      turtle.attack()
  22.                      turtle.dig()
  23.                      turtle.attack()
  24.                  end
  25.                  turtle.forward()
  26.                  turtle.attack()
  27.                  turtle.digUp()
  28.              end
  29.          end
  30.          
  31.          
  32.          function turnAround()
  33.              turtle.turnLeft()
  34.              turtle.turnLeft()
  35.          end
  36.          
  37.          function schrittvor()
  38.              turtle.attack()
  39.              turtle.dig()
  40.              while turtle.detect()==true do          --Überprüft ob noch Sand, Kies oder Mob vor einem ist
  41.                  turtle.attack()
  42.                  turtle.dig()
  43.              end
  44.              turtle.attack()
  45.              turtle.forward()
  46.              turtle.attack()
  47.              turtle.digUp()
  48.          end
  49.          
  50.          
  51.          function gang()                 --Gräbt einen Gang in eine Richtung
  52.              for i=1,laenge do
  53.                  schrittvor()
  54.              end
  55.              turnAround()
  56.              for z=1,laenge do
  57.                  schrittvor()
  58.                  zaehler=zaehler+1
  59.                  if zaehler==abstand+1 then
  60.                      fackel()
  61.                                      zaehler=1
  62.                  end
  63.              end
  64.                      zaehler=1
  65.          end
  66.          
  67.          function fackel()      
  68.              if turtle.getItemCount(16)==0 then      --Überprüft ob Fackel in Slot 16 ist
  69.              else    --Wenn Fackel da ist wird Fackel gesetzt
  70.                  turnAround()
  71.                  turtle.select(16)
  72.                  turtle.place()
  73.                  turnAround()
  74.              end
  75.          end
  76.          
  77.          function ablegen()      --Legt komplettes Inventar außer den Fackelslot ab
  78.              for d=1,14 do
  79.                  turtle.select(d)
  80.                  turtle.drop(64)
  81.              end
  82.                
  83.          end
  84.                  
  85.                  --Programm
  86.                  
  87.          shell.run("clear")
  88.                  
  89.          while turtle.getFuelLevel()<500 do
  90.              shell.run("clear")
  91.              sleep(0.5)
  92.              turtle.select(14)                        
  93.              print("Zu wenig Treibstoff!!!\n")
  94.              print("Fuellevel: ",turtle.getFuelLevel())
  95.              print("Bitte fuehren Sie Treibstoff in das dick umrandete Feld ein.")
  96.              turtle.refuel(64)
  97.              sleep(1.5)
  98.          end
  99.                  
  100.                  
  101.          shell.run("clear")
  102.          turtle.select(16)
  103.          
  104.              
  105.                          --Erklaerung
  106.                          
  107.          print(" ------------------------------------- ")
  108.          print("|  Zum Benutzen des Strip Programms   |")
  109.          print("|  wird eine Enderiste und Fackeln    |")
  110.          print("|  benoetigt.                         |")
  111.          print("|  Vor Beginn legen Sie die Kiste     |")
  112.          print("|  in Slot15 (Feld links von dem      |")
  113.      print("|  bereits markierten Feld).          |")
  114.          print("|  Wenn vorhanden legen Sie Fackeln   |")
  115.          print("|  in das dick umrandete Feld.        |")
  116.          print(" ------------------------------------- ")
  117.          print("Benzin: ",turtle.getFuelLevel())
  118.          print("Druecke Enter um fortzufahren")
  119.          read()
  120.          shell.run("clear")
  121.      turtle.select(1)
  122.                  
  123.                  
  124.                      --Abfragen
  125.          
  126.          print("Wie viele gaenge?")  --Abfrage nach Ganganzahl
  127.          gaenge=tonumber(read())
  128.          local anzahl=gaenge
  129.                  
  130.            
  131.          shell.run("clear")
  132.          
  133.          print("Wie lang sollen die Gaenge sein?")               --Abfrage nach Ganglänge
  134.          laenge=tonumber(read())
  135.            
  136.          shell.run("clear")
  137.          
  138.          print("Abstand der Fackeln?")   --Abfrage nach dem Abstand der Fackeln
  139.          abstand=tonumber(read())
  140.            
  141.          shell.run("clear")
  142.            
  143.        
  144.              --Hauptprogramm
  145.                  
  146.          for gangNR=1,gaenge do                    
  147.              shell.run("clear")
  148.              print("Noch ",anzahl," Gaenge")
  149.              move3vor()
  150.              anzahl=anzahl-1
  151.              turtle.turnLeft()
  152.              gang()          --Linker Gang
  153.              gang()          --Rechter Gang
  154.              turtle.turnRight()
  155.              gangZaehler=gangZaehler+1
  156.              if turtle.getFuelLevel()<200 then
  157.                      turnAround()
  158.                      for c=gangNR,1,-1 do
  159.                          move3vor()
  160.                      end
  161.                      while turtle.getFuelLevel()<100 do
  162.                         shell.run("clear")
  163.                         sleep(0.5)
  164.                         turtle.select(14)
  165.                         print("Kein Treibstoffmehr!\n")
  166.                         print("Bitte fuehren SieTreibstoff links neben dem Fackelslot rein (Slot 14)")
  167.                         turtle.refuel(64)
  168.                         sleep(1.5)
  169.                     end
  170.                     turnAround()
  171.                     for c=1,gangNR do
  172.                        move3vor()
  173.                     end
  174.                 end  
  175.                
  176.                 if gangNR==gaenge then    --Wenn Ende dann zurück zum Ausgang
  177.                     turnAround()
  178.                     for c=gangNR ,1,-1 do
  179.                        move3vor()
  180.                     end
  181.             turtle.select(15)
  182.             turtle.place()
  183.                     ablegen()
  184.             turtle.select(15)
  185.             turtle.dig()
  186.          
  187.                else
  188.                    if turtle.getItemCount(14)>1 then          --Fährt zurück zur Kiste
  189.                       turnAround()
  190.                       turtle.select(15)
  191.                       turtle.place()
  192.                       ablegen()
  193.               turtle.select(15)
  194.                       turtle.dig()
  195.                       turnAround()
  196.                      
  197.                   end
  198.               end
  199.           end
  200.          
  201.         turnAround()
  202.         print("Programmende Strip")
  203.         print("Erwarte neue Befehle")
  204.                
  205.                 --Programmende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement