Advertisement
monster010

ComputerCraft Mining Turtle (Tutorial)

Nov 10th, 2016
1,650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.53 KB | None | 0 0
  1. local tArgs = {...} -- Abfragen der Parameter hinter mine
  2.  
  3. -- Ueberpruefen ob 2, mehr oder weniger Parameter angegebenen sind, wenn mehr als zwei Benutzung ausgeben
  4. if #tArgs ~= 2 then
  5.     print("Benutzung: mine <Laenge der Tunnel> <Anzahl der Tunnel>")
  6.     return
  7. end
  8.  
  9. -- Variablen length und tunnel festlegen
  10. local length = tonumber(tArgs[1])
  11. local tunnel = tonumber(tArgs[2])
  12.  
  13. -- Ueberpruefen der Variablen auf positiven Bereich
  14. if length < 1 then
  15.     print("Die Laenge der Tunnel muss im positiven Bereich liegen!")
  16.     return
  17. end
  18.  
  19. if tunnel < 1 then
  20.     print("Die Anzahl der Tunnel muss im positiven Bereich liegen!")
  21.     return
  22. end
  23.  
  24.  
  25. -- Lokale Nachfuell Funktion
  26. local function refuel()
  27.     local fuelLvl = turtle.getFuelLevel()
  28.  
  29.     if fuelLvl == "unlimited" or fuelLvl > 0 then
  30.         return
  31.     end
  32.  
  33.     -- Versuche Nachzufuellen Funktion (Ueberprueft komplettes Inventar auf Kohle, gibt true zurueck wenn Kohle gefunden und nachgefuellt wurde)
  34.     local function tryRefuel()
  35.         for i = 1, 16 do
  36.             if turtle.getItemCount(i) > 0 then
  37.                 turtle.select(i)
  38.  
  39.                 if turtle.refuel(1) then
  40.                     turtle.select(1)
  41.                     return true
  42.                 end
  43.             end
  44.         end
  45.  
  46.         turtle.select(1)
  47.         return false
  48.     end
  49.  
  50.     if not tryRefuel() then
  51.         print("Gib mir Kohle oder Lava!")
  52.  
  53.         while not tryRefuel() do
  54.             sleep(1)
  55.         end
  56.  
  57.         print("Fahre mit Minen fort")
  58.     end
  59. end
  60.  
  61. -- Lokale Vorwaerts Funktion um Fuel nachzufuellen
  62. local function tryForward()
  63.     refuel()
  64.     turtle.forward()
  65. end
  66.  
  67. -- Funktion um den Tunnel zu bauen
  68. local function buildTunnel()
  69.     while turtle.detect() do -- Solange vor der Turtle ein Block ist abbauen
  70.         turtle.dig()
  71.     end
  72.  
  73.     while turtle.detectUp() do -- Solange über der Tutle ein Block ist abbauen
  74.         turtle.digUp()
  75.     end
  76.  
  77.     tryForward() -- Vorwaerts fahren
  78. end
  79.  
  80. -- Programm ablauf
  81. print("Beginne mit der Arbeit")
  82. turtle.turnRight()
  83.  
  84. -- Baue Tunnel auf der Rechten Seiten
  85. for n = 1, tunnel do
  86.     for i = 1, length do
  87.         buildTunnel()
  88.     end
  89.  
  90.     turtle.turnRight()
  91.     turtle.turnRight()
  92.  
  93.     for i = 1, length do
  94.         buildTunnel()
  95.     end
  96.  
  97.     turtle.turnRight()
  98.  
  99.     for i = 1, 3 do
  100.         buildTunnel()
  101.     end
  102.  
  103.     turtle.turnRight()
  104. end
  105.  
  106. turtle.turnRight()
  107.  
  108. -- Auf richtige Position fahren
  109. for i = 1, 3 do
  110.     buildTunnel()
  111. end
  112.  
  113. turtle.turnRight()
  114.  
  115. -- Baue Tunnel auf der Linken Seiten
  116. for n = 1, tunnel do
  117.     for i = 1, length do
  118.         buildTunnel()
  119.     end
  120.  
  121.     turtle.turnRight()
  122.     turtle.turnRight()
  123.  
  124.     for i = 1, length do
  125.         buildTunnel()
  126.     end
  127.  
  128.     turtle.turnRight()
  129.  
  130.     for i = 1, 3 do
  131.         buildTunnel()
  132.     end
  133.  
  134.     turtle.turnRight()
  135. end
  136.  
  137. turtle.turnRight()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement