AnonymusHochgenuss

stairup

Mar 20th, 2026 (edited)
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. -- Programm fuer eine Treppe aufwaerts (optional ohne Decken-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: stairup <anzahl> [off]")
  9. print("Beispiel: stairup 15 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: Sicher vorwaerts bewegen
  31. local function moveForward()
  32. while turtle.detect() do
  33. turtle.dig()
  34. sleep(0.5)
  35. end
  36.  
  37. if not turtle.forward() then
  38. print("Blockiert beim Vorwaertsgehen!")
  39. return false
  40. end
  41. return true
  42. end
  43.  
  44. -- Funktion: Sicher nach oben bewegen
  45. local function moveUp()
  46. while turtle.detectUp() do
  47. turtle.digUp()
  48. sleep(0.5)
  49. end
  50.  
  51. if not turtle.up() then
  52. print("Blockiert beim Hochgehen!")
  53. return false
  54. end
  55. return true
  56. end
  57.  
  58. print("Starte Treppenbau hoch (" .. steps .. " Stufen)")
  59. if not placeMode then
  60. print("Modus: OHNE Decken-Platzierung")
  61. end
  62.  
  63. for i = 1, steps do
  64. -- Checke Treibstoff
  65. if turtle.getFuelLevel() == 0 then
  66. print("Fehler: Kein Treibstoff!")
  67. break
  68. end
  69.  
  70. -- 1. Schritt: Erst vorwaerts graben und gehen
  71. if not moveForward() then break end
  72.  
  73. -- 2. Schritt: Nach oben graben und gehen
  74. if not moveUp() then break end
  75.  
  76. -- 3. Schritt: Decke ueber sich platzieren (NUR wenn placeMode true ist)
  77. if placeMode then
  78. if not turtle.detectUp() then
  79. if selectBlocks() then
  80. turtle.placeUp()
  81. end
  82. end
  83. end
  84.  
  85. print("Stufe " .. i .. " von " .. steps .. " fertig.")
  86. end
  87.  
  88. print("Treppe beendet!")
Advertisement
Add Comment
Please, Sign In to add comment