chico0991

Mine

Sep 2nd, 2025 (edited)
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.05 KB | Gaming | 0 0
  1. -- Einstellungen fuer das Loch
  2. local length = 10  -- Laenge des Lochs
  3. local width = 10   -- Breite des Lochs
  4. local depth = 0    -- Start-Position in Z (wird von der aktuellen Position der Turtle uebernommen)
  5. local fuelLevel = turtle.getFuelLevel()  -- Initialer Treibstoffstand
  6.  
  7. -- Hilfsfunktionen
  8.  
  9. -- Bewegt die Turtle vorwaerts und graebt, wenn noetig
  10. function moveForward()
  11.     while not turtle.forward() do
  12.         turtle.dig()
  13.     end
  14. end
  15.  
  16. -- Graebt nach oben
  17. function digUp()
  18.     turtle.digUp()
  19. end
  20.  
  21. -- Graebt nach unten
  22. function digDown()
  23.     turtle.digDown()
  24. end
  25.  
  26. -- Prueft, ob das Inventar voll ist
  27. function isFull()
  28.     for i = 1, 16 do
  29.         if turtle.getItemCount(i) == 0 then
  30.             return false
  31.         end
  32.     end
  33.     return true
  34. end
  35.  
  36. -- Prueft, ob eine Kiste hinter der Turtle vorhanden ist
  37. function checkForChest()
  38.     -- Turtle dreht sich nach hinten und untersucht die Umgebung
  39.     turtle.turnLeft()
  40.     turtle.turnLeft()
  41.     local success, data = turtle.inspect()
  42.     turtle.turnLeft()
  43.     turtle.turnLeft()  -- Dreht die Turtle wieder zurueck
  44.     if success and data.name == "minecraft:chest" then
  45.         return true
  46.     end
  47.     return false
  48. end
  49.  
  50. -- Entleert das Inventar in eine Kiste hinter der Turtle, wenn eine Kiste gefunden wurde
  51. function emptyInventory()
  52.     if checkForChest() then
  53.         print("Kiste gefunden! Entleere Inventar...")
  54.         for i = 1, 15 do
  55.             turtle.select(i)
  56.             turtle.drop()
  57.         end
  58.     else
  59.         print("Keine Kiste gefunden, werfe Items auf den Boden...")
  60.         for i = 1, 15 do
  61.             turtle.select(i)
  62.             turtle.dropDown()  -- Wirft die Items direkt nach unten
  63.         end
  64.     end
  65. end
  66.  
  67. -- Tankt die Turtle, wenn der Treibstoff knapp wird
  68. function refuel()
  69.     if turtle.getFuelLevel() < 50 then
  70.         print("Treibstoff niedrig, versuche zu tanken...")
  71.         for i = 1, 16 do
  72.             local item = turtle.getItemDetail(i)
  73.             if item and (item.name == "minecraft:coal" or item.name == "minecraft:charcoal") then
  74.                 turtle.select(i)
  75.                 turtle.refuel(1)
  76.                 if turtle.getFuelLevel() >= 50 then
  77.                     print("Treibstoff ausreichend!")
  78.                     return
  79.                 end
  80.             end
  81.         end
  82.         print("Nicht genug Treibstoff. Bitte fuege mehr hinzu.")
  83.         while turtle.getFuelLevel() < 50 do
  84.             sleep(5)
  85.             refuel()
  86.         end
  87.     end
  88. end
  89.  
  90. -- Graebt das Loch in der aktuellen Blickrichtung
  91. function digLayer()
  92.     -- Durchlaeuft die gesamte Laenge und Breite
  93.     for i = 1, length do
  94.         for j = 1, width do
  95.             digDown()  -- Graebt nach unten
  96.             if j < width then
  97.                 moveForward()  -- Bewegt sich vorwaerts, ausser nach der letzten Spalte
  98.             end
  99.         end
  100.         -- Wenn das Ende einer Reihe erreicht ist, dreht sich die Turtle und wechselt die Richtung
  101.         if i < length then
  102.             if i % 2 == 0 then
  103.                 turtle.turnRight()
  104.                 moveForward()
  105.                 turtle.turnRight()
  106.             else
  107.                 turtle.turnLeft()
  108.                 moveForward()
  109.                 turtle.turnLeft()
  110.             end
  111.         end
  112.     end
  113. end
  114.  
  115. -- Hauptfunktion
  116. function main()
  117.     -- Initialisieren der Turtle
  118.     print("Starte das Mining-Programm!")
  119.     refuel()
  120.  
  121.     -- Beginnt den Grabevorgang
  122.     for d = depth, 0, -1 do  -- Graebt bis zum Bedrock
  123.         print("Graebe Schicht bei Tiefe: " .. d)
  124.         digLayer()
  125.  
  126.         -- Wenn das Inventar voll ist, entleert es sich
  127.         if isFull() then
  128.             print("Inventar ist voll, gehe zur Kiste zum Entleeren.")
  129.             emptyInventory()
  130.         end
  131.        
  132.         -- Bevor die Turtle mit der naechsten Schicht fortfaehrt, muss sie nach unten graeben
  133.         if d > 0 then
  134.             turtle.down()
  135.             depth = depth - 1
  136.         end
  137.     end
  138.  
  139.     -- Fertig mit dem Graben
  140.     print("Das Loch wurde fertig ausgehoben!")
  141.  
  142. end
  143.  
  144. -- Programm starten
  145. main()
  146.  
Advertisement
Add Comment
Please, Sign In to add comment