Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Programm fuer eine Treppe aufwaerts (optional ohne Decken-Platzierung)
- local args = { ... }
- local steps = tonumber(args[1])
- -- Wenn das zweite Argument "off" ist, wird placeMode auf false gesetzt
- local placeMode = args[2] ~= "off"
- if not steps then
- print("Nutzung: stairup <anzahl> [off]")
- print("Beispiel: stairup 15 off")
- return
- end
- -- Funktion: Findet den naechsten Slot mit Bloecken
- local function selectBlocks()
- if turtle.getItemCount() > 0 then
- return true
- end
- for i = 1, 16 do
- if turtle.getItemCount(i) > 0 then
- turtle.select(i)
- return true
- end
- end
- print("Fehler: Keine Bloecke vorhanden!")
- return false
- end
- -- Funktion: Sicher vorwaerts bewegen
- local function moveForward()
- while turtle.detect() do
- turtle.dig()
- sleep(0.5)
- end
- if not turtle.forward() then
- print("Blockiert beim Vorwaertsgehen!")
- return false
- end
- return true
- end
- -- Funktion: Sicher nach oben bewegen
- local function moveUp()
- while turtle.detectUp() do
- turtle.digUp()
- sleep(0.5)
- end
- if not turtle.up() then
- print("Blockiert beim Hochgehen!")
- return false
- end
- return true
- end
- print("Starte Treppenbau hoch (" .. steps .. " Stufen)")
- if not placeMode then
- print("Modus: OHNE Decken-Platzierung")
- end
- for i = 1, steps do
- -- Checke Treibstoff
- if turtle.getFuelLevel() == 0 then
- print("Fehler: Kein Treibstoff!")
- break
- end
- -- 1. Schritt: Erst vorwaerts graben und gehen
- if not moveForward() then break end
- -- 2. Schritt: Nach oben graben und gehen
- if not moveUp() then break end
- -- 3. Schritt: Decke ueber sich platzieren (NUR wenn placeMode true ist)
- if placeMode then
- if not turtle.detectUp() then
- if selectBlocks() then
- turtle.placeUp()
- end
- end
- end
- print("Stufe " .. i .. " von " .. steps .. " fertig.")
- end
- print("Treppe beendet!")
Advertisement
Add Comment
Please, Sign In to add comment