AnonymusHochgenuss

stairdown

Mar 20th, 2026 (edited)
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. -- Programm fuer eine Treppe abwaerts (optional ohne Boden-Platzierung)
  2. local args = { ... }
  3. local steps = tonumber(args[1])
  4. -- Wenn das zweite Argument "off" ist, wird placeMode auf false gesetzt
  5. local placeMode = args[2] ~= "off"
  6.  
  7. if not steps then
  8. print("Nutzung: stairdown <anzahl> [off]")
  9. print("Beispiel: stairdown 10 off")
  10. return
  11. end
  12.  
  13. -- Funktion: Findet den naechsten Slot mit Bloecken
  14. local function selectBlocks()
  15. if turtle.getItemCount() > 0 then
  16. return true
  17. end
  18.  
  19. for i = 1, 16 do
  20. if turtle.getItemCount(i) > 0 then
  21. turtle.select(i)
  22. return true
  23. end
  24. end
  25.  
  26. print("Fehler: Keine Bloecke vorhanden!")
  27. return false
  28. end
  29.  
  30. -- Funktion: Decke ueber der Turtle entfernen
  31. local function clearCeiling()
  32. while turtle.detectUp() do
  33. turtle.digUp()
  34. sleep(0.5)
  35. end
  36. end
  37.  
  38. -- Funktion: Sicher nach unten bewegen
  39. local function moveDown()
  40. while turtle.detectDown() do
  41. turtle.digDown()
  42. sleep(0.5)
  43. end
  44.  
  45. if not turtle.down() then
  46. print("Blockiert beim Runtergehen!")
  47. return false
  48. end
  49. return true
  50. end
  51.  
  52. -- Funktion: Sicher vorwaerts bewegen
  53. local function moveForward()
  54. while turtle.detect() do
  55. turtle.dig()
  56. sleep(0.5)
  57. end
  58.  
  59. if not turtle.forward() then
  60. print("Blockiert beim Vorwaertsgehen!")
  61. return false
  62. end
  63. return true
  64. end
  65.  
  66. print("Starte Treppenbau (" .. steps .. " Stufen)")
  67. if not placeMode then
  68. print("Modus: OHNE Boden-Platzierung")
  69. end
  70.  
  71. for i = 1, steps do
  72. -- Checke Treibstoff
  73. if turtle.getFuelLevel() == 0 then
  74. print("Fehler: Kein Treibstoff!")
  75. break
  76. end
  77.  
  78. -- 1. Decke am aktuellen Standpunkt entfernen
  79. clearCeiling()
  80.  
  81. -- 2. Schritt: Nach unten graben und gehen
  82. if not moveDown() then break end
  83.  
  84. -- 3. Schritt: Block unter sich platzieren (NUR wenn placeMode true ist)
  85. if placeMode then
  86. if not turtle.detectDown() then
  87. if selectBlocks() then
  88. turtle.placeDown()
  89. end
  90. end
  91. end
  92.  
  93. -- 4. Schritt: Nach vorne graben und gehen
  94. if not moveForward() then break end
  95.  
  96. -- 5. Decke am neuen Standpunkt entfernen
  97. clearCeiling()
  98.  
  99. print("Stufe " .. i .. " von " .. steps .. " fertig.")
  100. end
  101.  
  102. print("Treppe beendet!")
Advertisement
Add Comment
Please, Sign In to add comment