NanooTec

Test Turtle

Mar 30th, 2015
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 48.72 KB | None | 0 0
  1.    
  2.  
  3.     -- ** Stripmining Programm **
  4.     -- ** © 2013 SemOnLP       **
  5.     -- **************************
  6.     -- Changelog
  7.     -- 09.09.13 - V1.0 = Veroeffentlicht
  8.     -- 12.02.14 - V2.0 = Einstellungen speichern, neue Anzeige
  9.     -- 23.07.14 - V2.1 = Fehler beim Fackeln setzten im Seitengang
  10.      
  11.     --start: block der verhindert das der hautpfad unterborchen wird
  12.     function Sicherheitspfad()
  13.             if turtle.detectDown() == false then -- wen kein block unter der turel ist
  14.                     turtle.select(1) -- slot 1 auswaehlen
  15.             turtle.placeDown() -- und unter die turel setzten
  16.             end
  17.     end
  18.     --end: block der verhindert das der hautpfad unterborchen wird
  19.      
  20.     --start: hier wird der Hauptgang gegraben
  21.     function Mittelgang()
  22.             NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte
  23.             Sicherheitspfad() -- wird nur im Hauptgang gemacht, prueft ob unter der Turtel ein Block ist wen nein setzt sie einen aus slot 1
  24.             KiesUp() -- haut den block uebersich weg, koennt sein das dan noch kies nach faellt
  25.      
  26.             NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte
  27.             Sicherheitspfad() -- wird nur im Hauptgang gemacht, prueft ob unter der Turtel ein Block ist wen nein setzt sie einen aus slot 1
  28.             KiesUp() -- haut den block uebersich weg, koennt sein das dan noch kies nach faellt
  29.      
  30.             Fackel("mitte") -- fackel auf der rechten seite setzten
  31.             NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte
  32.             Sicherheitspfad() -- wird nur im Hauptgang gemacht, prueft ob unter der Turtel ein Block ist wen nein setzt sie einen aus slot 1
  33.             KiesUp() -- haut den block uebersich weg, koennt sein das dan noch kies nach faellt
  34.     end
  35.     --end: hier wird der Hauptgang gegraben
  36.      
  37.     --start: baut einen Seitengang
  38.     function Seitengang()
  39.             for i = 1, laengeSeitengang, 1 do -- grabe dich in den gang
  40.                     NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte
  41.                     KiesUp() -- haut den block uebersich weg, koennt sein das dan noch kies nach faellt
  42.             end
  43.            
  44.             turtle.turnRight() -- umdrehen
  45.             turtle.turnRight() -- umdrehen
  46.             for i = laengeSeitengang, 1, -1 do -- komm zur mitte zurueck
  47.                     if (i % fackelnSeitengang == 0 and fackelnSeitengang ~= 0) then -- wenn fackeln gesetzt werden sollen und diese dem abastand entsprechen
  48.                             Fackel("seite")
  49.                     end
  50.                     NachVorne() -- 1 block nach vorne mit der pruefung ob die Turel fahren konnte
  51.             end
  52.     end
  53.     --end: baut einen Seitengang
  54.      
  55.     --start: geht 1 block nach vorne
  56.     function NachVorne()
  57.             while turtle.detect() do -- prueft ob ein block vor der turel ist
  58.                     turtle.dig()
  59.                     sleep(0.25)
  60.             end
  61.            
  62.             while(turtle.forward() == false) do --wenn er nicht fahren konnte
  63.                     turtle.dig()  -- einmal abbauen
  64.                     turtle.attack() -- einmal zuschlagen
  65.             end
  66.     end
  67.     --end: geht 1 block nach vorne
  68.      
  69.     --start: beim abbauen uebersich ob kies nachfaell, wen ja solange abbauen bis nichts mehr kommt
  70.     function KiesUp()
  71.             while turtle.detectUp() do -- prueft ob ueber ihm noch etwas ist
  72.                     turtle.digUp() -- haut den block ueber sich ab
  73.                     sleep(0.25) -- wartet, funktioniert nur wen der block direck nachfaellt ist ein block
  74.             end
  75.     end
  76.     --end: beim abbauen uebersich ob kis nachfaell, wen ja solange abbauen bis nichts mehr kommt
  77.      
  78.     --start: plaziert die Fackel
  79.     function Fackel(gang) -- ueber gibt gang oder seite
  80.             if (fakelanzahl1 ~= 0) then
  81.                     turtle.select(slotFackeln1) -- waehlt die Fackeln aus
  82.                     fakelanzahl1 = fakelanzahl1 - 1
  83.             elseif (fakelanzahl2 ~= 0) then
  84.                     slotFackeln1 = 0 -- setzt die slotz zurueck zum entleeren der kiste
  85.                     turtle.select(slotFackeln2) -- waehlt die Fackeln aus
  86.                     fakelanzahl2 = fakelanzahl2 - 1
  87.             elseif (fakelanzahl3 ~= 0) then
  88.                     slotFackeln1 = 0 -- setzt die slotz zurueck zum entleeren der kiste
  89.                     slotFackeln2 = 0 -- setzt die slotz zurueck zum entleeren der kiste
  90.                     turtle.select(slotFackeln3) -- waehlt die Fackeln aus
  91.                     fakelanzahl3 = fakelanzahl3 - 1
  92.             else
  93.                     slotFackeln1 = 0 -- setzt die slotz zurueck zum entleeren der kiste
  94.                     slotFackeln2 = 0 -- setzt die slotz zurueck zum entleeren der kiste
  95.                     slotFackeln3 = 0 -- setzt die slotz zurueck zum entleeren der kiste
  96.                     return -- keine fackeln mehr mach nichts
  97.             end
  98.            
  99.             if (gang == "seite") then
  100.                             turtle.placeUp() -- plaziert die Fackel ueber sich
  101.                             turtle.select(1) -- waehlt wieder slot 1 oder den ersten der dan frei ist
  102.             else  
  103.                     if (turtle.back()) then-- plaziert die fackel wen er 1 block zurueck fahren konnte
  104.                             turtle.placeUp() -- plaziert die Fackel ueber sich
  105.                             NachVorne() -- geht wieder nach vorne
  106.                     end
  107.             end
  108.             turtle.select(1) -- waehlt wieder slot 1 oder den ersten der dan frei ist
  109.     end
  110.     --end: plaziert die Fackel
  111.      
  112.     --start: Steuerung fuer Hauptgang und Seitengang
  113.     function Strip()
  114.             Mittelgang() -- hier wird der Hauptgang gegraben
  115.             turtle.turnRight() -- startposition fuer die linke seite
  116.             Seitengang() -- graebt den ersten seitengang und kommt zurueck zur mitte
  117.             Seitengang() -- graebt den zweiten seitengang und kommt zurueck zur mitte
  118.     end
  119.     --end: Steuerung fuer Hauptgang und Seitengang
  120.      
  121.     --start: entleere das inventar in die endertruhe
  122.     function enderTruhe()
  123.             if (endertruhe == 0) then -- wen keine kiste ausgewaehlt ist nicht in endertruhe leeren
  124.                     return
  125.             end
  126.             while turtle.detect() do -- die Truhe braucht platz um hingestell werden zu koennen also wird solange gegraben bis platz da ist
  127.                     turtle.dig()
  128.                     sleep(0.5)
  129.             end
  130.             turtle.select(slotEndertruhe) -- Truhe auswaehlen
  131.             turtle.place() -- Truhe plazieren
  132.             for i = 1,16 do -- k dient hier als zaehler um jeden platz leer zu machen
  133.                     turtle.select(i)
  134.                     if (turtle.getItemCount(i) == 0 and i ~= slotEndertruhe and i ~= slotFackeln1 and i ~= slotFackeln2 and i ~= slotFackeln3) then -- stop beachte die fackeln umzusetzend
  135.                             break -- hier wird abgebrochen wenn der slot leer ist
  136.                                   -- eine schneller entladung der kist ist somit gegeben ^^
  137.                     elseif (turtle.getItemCount(i) ~= 0 and i ~= slotEndertruhe and i ~= slotFackeln1 and i ~= slotFackeln2 and i ~= slotFackeln3) then
  138.                             turtle.drop() -- legt die items in aus dem slot in die truhe
  139.                     end
  140.             end
  141.             turtle.select(slotEndertruhe) -- waehlt slot 15 aus
  142.             turtle.dig() -- und nimmt die truhe wieder auf
  143.             turtle.select(1) -- waehlt wieder slot 1 oder den ersten der dan frei ist
  144.     end
  145.     --end: entleere das inventar in die endertruhe
  146.      
  147.     --start: graebt den Tunnel solange wie eingegeben wurde
  148.     function tunnel()
  149.             statusBildschirm(0) -- bereinigt den Bildschirm beim Start des Tunnelgrabens
  150.             kistenabstand = entleerungEndertruhe  -- nach diesem gang wird das 1 mal die truhe geleert
  151.             for aktuellergang = 1, ganganzahl, 1 do -- schleife die soviele gaenge macht wie eingeben
  152.                     Strip() -- hier wird der hauptgang mit einem Tunnel links und rechts gegraben
  153.                     -- entwerder nur nach links drehen oder nach links drehen und die kiste setzten
  154.                     if (aktuellergang  == kistenabstand and aktuellergang ~= ganganzahl) then
  155.                             turtle.turnLeft() -- gehe einmal nach links
  156.                             kistenabstand = kistenabstand + entleerungEndertruhe -- kistenabstand wieder 3 hoch
  157.                             enderTruhe() -- entleer die in die Enertrue
  158.                     elseif (aktuellergang  == ganganzahl) then -- letzter gang nach rechts gehen und in die Truhe entlehren
  159.                             turtle.turnRight() -- zurueck in gang drehen fuer die fahrt zur Ausgangsposition
  160.                             enderTruhe() -- es war der letzte gang, sprich stell die kist das letzte mal und entleeren
  161.                     else
  162.                             turtle.turnLeft() -- gehe nur einmal nach lings und mach mit dem hauptgan weiter
  163.                     end
  164.                     statusBildschirm(aktuellergang) -- Aktuallisierung des Bildschirms wenn ein Gang gegraben wurde (aktuellergang muss uebergeben werden)
  165.             end
  166.     end
  167.     --end: graebt den Tunnel solange wie eingegeben wurde
  168.      
  169.     --start: Zurueck zur Ausgangsposition
  170.     function back()
  171.             for a = 1,ganganzahl * 1 do
  172.                     NachVorne()
  173.             end
  174.     end
  175.     --end: Zurueck zur Ausgangsposition
  176.      
  177.     --start: Aktuallisierung des Bildschirms wenn ein Gang gegraben wurde
  178.     function statusBildschirm(aktuellergang)
  179.             -- start: Zeigt das Fuel-Level an
  180.             term.setCursorPos( 1, 3)
  181.             term.clearLine()
  182.             fuellevel = turtle.getFuelLevel()
  183.             print("Fuel-Level: " .. fuellevel)
  184.            
  185.             term.setCursorPos( 1, 4)
  186.             term.clearLine()
  187.             if (endertruhe == 1) then
  188.                     print("Endertruhe: Ja")
  189.             else
  190.                     print("Endertruhe: Nein")
  191.             end            
  192.            
  193.             -- start: Zeigt die anzahl der Fakeln an
  194.             term.setCursorPos( 1, 5)
  195.             term.clearLine()
  196.             fackeln = fakelanzahl1 + fakelanzahl2 + fakelanzahl3
  197.             print("Fackeln   : " .. fackeln)
  198.            
  199.             term.setCursorPos(1,7)
  200.             term.clearLine()
  201.             if (aktuellergang > 0) then
  202.                     print("Gang " .. aktuellergang .. " von " .. ganganzahl .. " wurde fertiggestellt!")
  203.             else -- wen das programm startet
  204.                     term.setCursorPos(1,8)
  205.                     term.clearLine()
  206.                     term.setCursorPos(1,9)
  207.                     term.clearLine()
  208.                     term.setCursorPos(1,10)
  209.                     term.clearLine()
  210.                     term.setCursorPos(1,12)
  211.                     term.clearLine()
  212.                     turtle.select(1) -- waehlt zum start slot 1 aus
  213.             end
  214.     end
  215.     --end: Aktuallisierung des Bildschirms wenn ein Gang gegraben wurde
  216.      
  217.      
  218.     --START: Programmsteuerung eingabe
  219.     --start: Aktuellisuerung des Status fuer Fakeln, Endertruhe, und Fullevel
  220.     local function checkStatus()
  221.             slotsAnzeige = {"_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_"}
  222.             slotsAnzeige[slotEndertruhe] = "e"
  223.             slotsAnzeige[slotFackeln1] = "f"
  224.             slotsAnzeige[slotFackeln2] = "f"
  225.             slotsAnzeige[slotFackeln3] = "f"
  226.             slotsAnzeige[slotAutofuel] = "a"
  227.            
  228.             local blink = 0 -- wird benoetigt fuer das blinken der Warnung das das Fuellevel nidrig ist
  229.             while true do --prueft endlos den status
  230.                     time() -- zeit die Uhrzeit oben rechts an
  231.      
  232.                     -- start: Zeigt das Fuel-Level an
  233.                     term.setCursorPos( 1, 3)
  234.                     term.clearLine()
  235.                     fuellevel = turtle.getFuelLevel()
  236.                     if (fuellevel < 500 and blink == 0) then
  237.                             print("Fuel-Level: " .. fuellevel .. " !! Warnung !!")
  238.                             blink = 1 -- setz blinken der Warnung zurueck
  239.                     else
  240.                             print("Fuel-Level: " .. fuellevel)
  241.                             blink = 0 -- setz blinken der Warnung zurueck
  242.                     end
  243.                     -- end: Zeigt das Fuel-Level an
  244.                     -- start: Zeigt die aufladung des Fuel-Level an
  245.                     term.setCursorPos( 1, 7)
  246.                     term.clearLine()
  247.                     term.clearLine()
  248.                     ladeeinheiten = turtle.getItemCount(tonumber(slotAutofuel)) -- Einheiten zum Aufladen aus slot 13
  249.                     if (ladeeinheiten == 1) then
  250.                             print("Hinweis:                       !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
  251.                             print("Fuelaufladung um eine Einheit  !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
  252.                             print("                               !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
  253.                             print("                               !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
  254.                     elseif (ladeeinheiten > 9) then
  255.                             print("Hinweis:                       !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
  256.                             print("Fuelaufladung um " .. ladeeinheiten .. " Einheiten  !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
  257.                             print("                               !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
  258.                             print("                               !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
  259.                     elseif (ladeeinheiten > 1) then
  260.                             print("Hinweis:                       !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
  261.                             print("Fuelaufladung um " .. ladeeinheiten .. " Einheiten   !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
  262.                             print("                               !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
  263.                             print("                               !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
  264.                     else
  265.                             print("                               !".. slotsAnzeige[1] .. "!".. slotsAnzeige[2] .. "!".. slotsAnzeige[3] .. "!".. slotsAnzeige[4])
  266.                             print("                               !".. slotsAnzeige[5] .. "!".. slotsAnzeige[6] .. "!".. slotsAnzeige[7] .. "!".. slotsAnzeige[8])
  267.                             print("                               !".. slotsAnzeige[9] .. "!".. slotsAnzeige[10] .. "!".. slotsAnzeige[11] .. "!".. slotsAnzeige[12])
  268.                             print("                               !".. slotsAnzeige[13] .. "!".. slotsAnzeige[14] .. "!".. slotsAnzeige[15] .. "!".. slotsAnzeige[16])
  269.                     end
  270.                     -- end: Zeigt die aufladung des Fuel-Level an
  271.                    
  272.                     -- start: Pruefung fuer die Endertruhe
  273.                     term.setCursorPos( 1, 4)
  274.                     term.clearLine()
  275.                     endertruhe = turtle.getItemCount(tonumber(slotEndertruhe))
  276.                     if (endertruhe == 1) then
  277.                             print("Endertruhe: Ja")
  278.                             endertruhe = 1 --braucht man nicht ist nur zur sicherheit
  279.                     elseif (endertruhe > 1) then
  280.                             print("Endertruhe: Bitte nur 1 Kiste")
  281.                             endertruhe = 0
  282.                     else
  283.                             print("Endertruhe: Nein")
  284.                             endertruhe = 0
  285.                     end            
  286.                     -- end: Pruefung fuer die Endertruhe
  287.                    
  288.                     -- start: Zeigt die anzahl der Fakeln an
  289.                     term.setCursorPos( 1, 5)
  290.                     term.clearLine()
  291.                     fackeln = turtle.getItemCount(tonumber(slotFackeln1)) + turtle.getItemCount(tonumber(slotFackeln2)) + turtle.getItemCount(tonumber(slotFackeln3))
  292.                     if (fackeln == 0) then
  293.                             print("Fackeln   : Keine")
  294.                     elseif (fackeln == 1) then
  295.                             print("Fackeln   : " .. fackeln .. " (Eingabe 0 = ein Gang)")
  296.                     else
  297.                             print("Fackeln   : " .. fackeln .. " (Eingabe 0=" .. fackeln .." Gaenge)")
  298.                     end
  299.                     -- end: Zeigt die anzahl der Fakeln an
  300.                    
  301.                     term.setCursorPos(38,3)
  302.                     print("!a")
  303.                     term.setCursorPos(38,4)
  304.                     print("!e")
  305.                     term.setCursorPos(38,5)
  306.                     print("!f")
  307.                     term.setCursorPos(36, 12) -- setzt angezeigte curser zurueck zur eingabe
  308.                     sleep(0.4) -- minecraft minute dauert 0.8 Sekunden
  309.             end
  310.     end
  311.     --end: Aktuellisuerung des Status fuer Fakeln, Endertruhe, und Fullevel
  312.      
  313.     --start: Eingabe der Fackeln und Pruefung ob 0 oder zwischen 1 und 999 oder einstellungen
  314.     local function eingabeTunnellaenge()
  315.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  316.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  317.                     term.clearLine() -- loescht eventuell den Hilfetext
  318.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  319.                     print("Anzahl Gaenge? (e = Einstellungen):") -- anzeige des Hilfetextes
  320.                                            
  321.                     term.setCursorPos(36, 12) -- setzt position auf eingabe
  322.                    
  323.                     local inputstring = read() -- auswertung der eingabe
  324.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  325.                             ganganzahl = tonumber(inputstring) --macht aus dem Strin ein zahl
  326.                             if (ganganzahl >= 0 and ganganzahl <= 999) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  327.                                     if (ganganzahl == 0) then
  328.                                             ganganzahl = fackeln
  329.                                 end
  330.                                     einstellung = 0
  331.                                     return -- wenn alles ok ist, beende die eingabe
  332.                             end
  333.                     end
  334.      
  335.                     if (inputstring == "e") then
  336.                             einstellung = 1
  337.                             return -- einstellung aender
  338.                     else
  339.                             term.setCursorPos(1, 12) -- setzt den curser hier her
  340.                             term.clearLine()
  341.                             print("0 = Fakelanzahl oder 1-999 moeglich")
  342.                             sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  343.                     end
  344.             end
  345.     end
  346.     --end: Eingabe der Fackeln und Pruefung ob 0 oder zwischen 1 und 999 oder einstellungen
  347.      
  348.     --start: eingabe der einstellungen fuer das programm
  349.     local function einstellungen()
  350.             for i = 3, 10, 1 do -- loesch den bilschirm ab der dritten zeile
  351.                     term.setCursorPos(1,i) -- zeile fuer anzeige bereinigen
  352.                     term.clearLine() -- zeile fuer anzeige bereinigen
  353.             end
  354.            
  355.             term.setCursorPos(1,12) -- zeile fuer anzeige bereinigen
  356.             term.clearLine() -- zeile fuer anzeige bereinigen
  357.            
  358.            
  359.             -- anzeige fuer die einstellungen
  360.             term.setCursorPos(1, 3) -- setzt den curser in zeile 3
  361.             print("Slot Endertruhe        : " .. slotEndertruhe) -- anzeige des Hilfetextes
  362.             term.setCursorPos(1, 4) -- setzt den curser in zeile 3
  363.             print("Slot eins fuer Fackeln : " .. slotFackeln1) -- anzeige des Hilfetextes
  364.             term.setCursorPos(1, 5) -- setzt den curser in zeile 3
  365.             print("Slot zwei fuer Fackeln : " .. slotFackeln2) -- anzeige des Hilfetextes
  366.             term.setCursorPos(1, 6) -- setzt den curser in zeile 3
  367.             print("Slot drei fuer Fackeln : " .. slotFackeln3) -- anzeige des Hilfetextes
  368.             term.setCursorPos(1, 7) -- setzt den curser in zeile 3
  369.             print("Slot Autofuelaufladung : " .. slotAutofuel) -- anzeige des Hilfetextes
  370.             term.setCursorPos(1, 8) -- setzt den curser in zeile 3
  371.             print("Laenge der Seitengaenge: " .. laengeSeitengang) -- anzeige des Hilfetextes
  372.             term.setCursorPos(1, 9) -- setzt den curser in zeile 3
  373.             print("Fakeln in Seitengaenge : " .. fackelnSeitengang) -- anzeige des Hilfetextes
  374.             term.setCursorPos(1, 10) -- setzt den curser in zeile 3
  375.             print("Entleerung Enderchest  : " .. entleerungEndertruhe) -- anzeige des Hilfetextes
  376.            
  377.             corsor = 3 -- eingabeposition, wird gebraucht bei der zeitanzeige
  378.             einstellungenEndertruhe()
  379.             term.setCursorPos(1, 3) -- setzt den curser in zeile 3
  380.             print("Slot Endertruhe        : " .. slotEndertruhe) -- anzeige des Hilfetextes
  381.            
  382.             corsor = 4 -- eingabeposition, wird gebraucht bei der zeitanzeige
  383.             einstellungenFackeln1()
  384.             term.setCursorPos(1, 4) -- setzt den curser in zeile 3
  385.             print("Slot eins fuer Fackeln : " .. slotFackeln1) -- anzeige des Hilfetextes
  386.            
  387.             corsor = 5 -- eingabeposition, wird gebraucht bei der zeitanzeige
  388.             einstellungenFackeln2()
  389.             term.setCursorPos(1, 5) -- setzt den curser in zeile 3
  390.             print("Slot zwei fuer Fackeln : " .. slotFackeln2) -- anzeige des Hilfetextes
  391.            
  392.             corsor = 6 -- eingabeposition, wird gebraucht bei der zeitanzeige
  393.             einstellungenFackeln3()
  394.             term.setCursorPos(1, 6) -- setzt den curser in zeile 3
  395.             print("Slot drei fuer Fackeln : " .. slotFackeln3) -- anzeige des Hilfetextes
  396.            
  397.             corsor = 7 -- eingabeposition, wird gebraucht bei der zeitanzeige
  398.             einstellungenAutofuel()
  399.             term.setCursorPos(1, 7) -- setzt den curser in zeile 3
  400.             print("Slot Autofuelaufladung : " .. slotAutofuel) -- anzeige des Hilfetextes
  401.            
  402.             corsor = 8 -- eingabeposition, wird gebraucht bei der zeitanzeige
  403.             einstellungenLaengeSeitengang()
  404.             term.setCursorPos(1, 8) -- setzt den curser in zeile 3
  405.             print("Laenge der Seitengaenge: " .. laengeSeitengang) -- anzeige des Hilfetextes
  406.            
  407.             corsor = 9 -- eingabeposition, wird gebraucht bei der zeitanzeige
  408.             einstellungenFackelnSeitengang()
  409.             term.setCursorPos(1, 9) -- setzt den curser in zeile 3
  410.             print("Fakeln in Seitengaenge : " .. fackelnSeitengang) -- anzeige des Hilfetextes
  411.            
  412.             corsor = 10 -- eingabeposition, wird gebraucht bei der zeitanzeige
  413.             einstellungenEntleerungEnderchest()
  414.             term.setCursorPos(1, 10) -- setzt den curser in zeile 3
  415.             print("Entleerung Enderchest  : " .. entleerungEndertruhe) -- anzeige des Hilfetextes
  416.     end
  417.      
  418.     --end: eingabe der einstellungen fuer das programm
  419.      
  420.     --start: eingabe der einstellungen fuer das programm
  421.     function einstellungenEndertruhe()
  422.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  423.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  424.                     term.clearLine() -- loescht eventuell den Hilfetext
  425.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  426.                     print("Slot fuer die Endertruhe") -- anzeige des Hilfetextes
  427.                    
  428.                     term.setCursorPos(1, 3) -- setzt den curser in zeile 3
  429.                     term.clearLine()
  430.                     print("Slot Endertruhe        :") -- anzeige des Hilfetextes
  431.                     term.setCursorPos(26, 3) -- setzt position auf eingabe
  432.                    
  433.                    
  434.                     local inputstring1 = read() -- auswertung der eingabe
  435.                     if (tonumber(inputstring1) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  436.                             slotEndertruhe = tonumber(inputstring1) --macht aus dem Strin ein zahl
  437.                             if (slotEndertruhe >= 0 and slotEndertruhe <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  438.                                     if (slotEndertruhe == 0) then
  439.                                             slotEndertruhe = 15
  440.                                 end
  441.                                     return -- wenn alles ok ist, beende die eingabe
  442.                             end
  443.                     end
  444.      
  445.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  446.                     term.clearLine()
  447.                     print("Nur Slot 1 bis 16 moeglich, 0=Standard")
  448.                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  449.             end
  450.     end
  451.      
  452.     --start: eingabe der einstellungen fuer das programm
  453.     function einstellungenFackeln1()
  454.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  455.                     gleichslot = 0 -- erstmal keine ueberlagerung
  456.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  457.                     term.clearLine() -- loescht eventuell den Hilfetext
  458.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  459.                     print("Slot eins fuer die Fackeln") -- anzeige des Hilfetextes
  460.                    
  461.                     term.setCursorPos(1, 4) -- setzt den curser in zeile 3
  462.                     term.clearLine()
  463.                     print("Slot eins fuer Fackeln :") -- anzeige des Hilfetextes
  464.                     term.setCursorPos(26, 4) -- setzt position auf eingabe
  465.                    
  466.                    
  467.                     local inputstring = read() -- auswertung der eingabe
  468.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  469.                             slotFackeln1 = tonumber(inputstring) --macht aus dem Strin ein zahl
  470.                             if (slotFackeln1 >= 0 and slotFackeln1 <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  471.                                     if (slotFackeln1 == 0) then
  472.                                             slotFackeln1 = 16
  473.                                     end
  474.      
  475.                                     if (slotFackeln1 ~= slotEndertruhe) then -- gleicher slot wie die endertruhe
  476.                                             return -- wenn alles ok ist, beende die eingabe
  477.                                     else
  478.                                             gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden
  479.                                     end
  480.                             end
  481.                     end
  482.      
  483.      
  484.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  485.                     term.clearLine()
  486.                     if (gleichslot == 1) then
  487.                             print("Slot bereits in Verwendung")
  488.                     else
  489.                             print("Nur Slot 1 bis 16 moeglich, 0=Standard")
  490.                     end
  491.                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  492.             end
  493.     end
  494.     --end:
  495.     --start: eingabe der einstellungen fuer das programm
  496.     function einstellungenFackeln2()
  497.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  498.                     gleichslot = 0 -- erstmal keine ueberlagerung
  499.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  500.                     term.clearLine() -- loescht eventuell den Hilfetext
  501.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  502.                     print("Slot zwei fuer die Fackeln") -- anzeige des Hilfetextes
  503.                    
  504.                     term.setCursorPos(1, 5) -- setzt den curser in zeile 3
  505.                     term.clearLine()
  506.                     print("Slot zwei fuer Fackeln :") -- anzeige des Hilfetextes
  507.                     term.setCursorPos(26, 5) -- setzt position auf eingabe
  508.                    
  509.                    
  510.                     local inputstring = read() -- auswertung der eingabe
  511.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  512.                             slotFackeln2 = tonumber(inputstring) --macht aus dem Strin ein zahl
  513.                             if (slotFackeln2 >= 0 and slotFackeln2 <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  514.                                     if (slotFackeln2 == 0) then
  515.                                             slotFackeln2 = 12
  516.                                 end
  517.                                    
  518.                                     if (slotFackeln2 ~= slotEndertruhe and slotFackeln2 ~= slotFackeln1) then -- gleicher slot wie die endertruhe
  519.                                             return -- wenn alles ok ist, beende die eingabe
  520.                                     else
  521.                                             gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden
  522.                                     end
  523.                             end
  524.                     end
  525.      
  526.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  527.                     term.clearLine()
  528.                     if (gleichslot == 1) then
  529.                             print("Slot bereits in Verwendung")
  530.                     else
  531.                             print("Nur Slot 1 bis 16 moeglich, 0=Standard")
  532.                     end
  533.                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  534.             end
  535.     end
  536.     --end:
  537.     --start: eingabe der einstellungen fuer das programm
  538.     function einstellungenFackeln3()
  539.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  540.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  541.                     term.clearLine() -- loescht eventuell den Hilfetext
  542.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  543.                     print("Slot drei fuer die Fackeln") -- anzeige des Hilfetextes
  544.                    
  545.                     term.setCursorPos(1, 6) -- setzt den curser in zeile 3
  546.                     term.clearLine()
  547.                     print("Slot drei fuer Fackeln :") -- anzeige des Hilfetextes
  548.                     term.setCursorPos(26, 6) -- setzt position auf eingabe
  549.                    
  550.                    
  551.                     local inputstring = read() -- auswertung der eingabe
  552.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  553.                             slotFackeln3 = tonumber(inputstring) --macht aus dem Strin ein zahl
  554.                             if (slotFackeln3 >= 0 and slotFackeln3 <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  555.                                     if (slotFackeln3 == 0) then
  556.                                             slotFackeln3 = 8
  557.                                 end
  558.                                     if (slotFackeln3 ~= slotEndertruhe and slotFackeln3 ~= slotFackeln1 and slotFackeln3 ~= slotFackeln2) then -- gleicher slot wie die endertruhe
  559.                                             return -- wenn alles ok ist, beende die eingabe
  560.                                     else
  561.                                             gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden
  562.                                     end
  563.                             end
  564.                     end
  565.      
  566.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  567.                     term.clearLine()
  568.                     if (gleichslot == 1) then
  569.                             print("Slot bereits in Verwendung")
  570.                     else
  571.                             print("Nur Slot 1 bis 16 moeglich, 0=Standard")
  572.                     end
  573.                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  574.             end
  575.     end
  576.     --end:
  577.      
  578.     --start: eingabe der einstellungen fuer das programm
  579.     function einstellungenAutofuel()
  580.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  581.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  582.                     term.clearLine() -- loescht eventuell den Hilfetext
  583.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  584.                     print("Slot fuer Autofuelaufladung beim Start") -- anzeige des Hilfetextes
  585.                    
  586.                     term.setCursorPos(1, 7) -- setzt den curser in zeile 3
  587.                     term.clearLine()
  588.                     print("Slot Autofuelaufladung :") -- anzeige des Hilfetextes
  589.                     term.setCursorPos(26, 7) -- setzt position auf eingabe
  590.                    
  591.                    
  592.                     local inputstring = read() -- auswertung der eingabe
  593.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  594.                             slotAutofuel = tonumber(inputstring) --macht aus dem Strin ein zahl
  595.                             if (slotAutofuel >= 0 and slotAutofuel <= 16) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  596.                                     if (slotAutofuel == 0) then
  597.                                             slotAutofuel = 13
  598.                                 end
  599.                                     if (slotAutofuel ~= slotEndertruhe and slotAutofuel ~= slotFackeln1 and slotAutofuel ~= slotFackeln2 and slotAutofuel ~= slotFackeln3) then -- gleicher slot wie die endertruhe
  600.                                             return -- wenn alles ok ist, beende die eingabe
  601.                                     else
  602.                                             gleichslot = 1 -- wen sich 2 slots ueberlagern wuerden
  603.                                     end
  604.                             end
  605.                     end
  606.      
  607.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  608.                     term.clearLine()
  609.                     if (gleichslot == 1) then
  610.                             print("Slot bereits in Verwendung")
  611.                     else
  612.                             print("Nur Slot 1 bis 16 moeglich, 0=Standard")
  613.                     end
  614.                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  615.             end
  616.     end
  617.     --end:
  618.      
  619.      
  620.     --start: eingabe der einstellungen fuer das programm
  621.     function einstellungenLaengeSeitengang()
  622.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  623.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  624.                     term.clearLine() -- loescht eventuell den Hilfetext
  625.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  626.                     print("Laenge eines Seitenganges") -- anzeige des Hilfetextes
  627.                    
  628.                     term.setCursorPos(1, 8) -- setzt den curser in zeile 3
  629.                     term.clearLine()
  630.                     print("Laenge der Seitengaenge:") -- anzeige des Hilfetextes
  631.                     term.setCursorPos(26, 8) -- setzt position auf eingabe
  632.                    
  633.                    
  634.                     local inputstring = read() -- auswertung der eingabe
  635.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  636.                             laengeSeitengang = tonumber(inputstring) --macht aus dem Strin ein zahl
  637.                             if (laengeSeitengang >= 0 and laengeSeitengang <= 999) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  638.                                     if (laengeSeitengang == 0) then
  639.                                             laengeSeitengang = 5
  640.                                 end
  641.                                     return -- wenn alles ok ist, beende die eingabe
  642.                             end
  643.                     end
  644.      
  645.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  646.                     term.clearLine()
  647.                     print("Nur 0 bis 999 moeglich, 0=Standard")
  648.                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  649.             end
  650.     end
  651.     --end:
  652.      
  653.     --start: eingabe der einstellungen fuer das programm
  654.     function einstellungenFackelnSeitengang()
  655.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  656.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  657.                     term.clearLine() -- loescht eventuell den Hilfetext
  658.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  659.                     print("Abstand zwischen Fakeln im Seitengang") -- anzeige des Hilfetextes
  660.                    
  661.                     term.setCursorPos(1, 9) -- setzt den curser in zeile 3
  662.                     term.clearLine()
  663.                     print("Fakeln in Seitengaenge :") -- anzeige des Hilfetextes
  664.                     term.setCursorPos(26, 9) -- setzt position auf eingabe
  665.                    
  666.                    
  667.                     local inputstring = read() -- auswertung der eingabe
  668.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  669.                             fackelnSeitengang = tonumber(inputstring) --macht aus dem Strin ein zahl
  670.                             if (fackelnSeitengang <= laengeSeitengang) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  671.                                     if (fackelnSeitengang == 0) then
  672.                                             fackelnSeitengang = 0
  673.                                 end
  674.                                     return -- wenn alles ok ist, beende die eingabe
  675.                             else
  676.                                     term.setCursorPos(1, 12) -- setzt den curser hier her
  677.                                     term.clearLine()
  678.                                     print("Seitenganz waere zu kurz")
  679.                                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  680.                             end
  681.                     end    
  682.             end
  683.     end
  684.     --end:
  685.      
  686.     --start: eingabe der einstellungen fuer das programm
  687.     function einstellungenEntleerungEnderchest()
  688.             while true do -- ergibt eine endlosschleife bis man auf return kommt
  689.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  690.                     term.clearLine() -- loescht eventuell den Hilfetext
  691.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  692.                     print("Anzahl Gaenge bis zur leerung") -- anzeige des Hilfetextes
  693.                    
  694.                     term.setCursorPos(1, 10) -- setzt den curser in zeile 3
  695.                     term.clearLine()
  696.                     print("Entleerung Enderchest  :") -- anzeige des Hilfetextes
  697.                     term.setCursorPos(26, 10) -- setzt position auf eingabe
  698.                    
  699.                    
  700.                     local inputstring = read() -- auswertung der eingabe
  701.                     if (tonumber(inputstring) ~= nil) then -- prueft ob eine Zahl eingegeben wurde
  702.                             entleerungEndertruhe = tonumber(inputstring) --macht aus dem Strin ein zahl
  703.                             if (entleerungEndertruhe >= 0 and entleerungEndertruhe <= 999) then -- wen die zahl zwischen 0 und 999 liegt alles ok
  704.                                     if (entleerungEndertruhe == 0) then
  705.                                             entleerungEndertruhe = 3 -- standard
  706.                                 end
  707.                                     return -- wenn alles ok ist, beende die eingabe
  708.                             end
  709.                     end
  710.      
  711.                     term.setCursorPos(1, 12) -- setzt den curser hier her
  712.                     term.clearLine()
  713.                     print("Nur 0 bis 999 moeglich, 0=Standard")
  714.                     sleep(1.5) -- zeit fuer die anzeigt des Hilfetextets
  715.             end
  716.     end
  717.     --end:
  718.      
  719.      
  720.     --start: Uhrzeit und Tag in Minecraft auslesen und anzeigen
  721.     function time()
  722.             term.setCursorPos(1, 1) -- position auf Zeit setzten
  723.             local day -- locale Variable fuer den Tag in Minecraft
  724.             local zeit -- locale Variable fuer die Uhrzeit in Minecraft
  725.             day = os.day() -- nicht im Gebrauch!
  726.             zeit = textutils.formatTime(os.time(), true) -- wandelt die anzeige in das 24 Stunden Format
  727.             if (string.len(zeit) == 4) then -- zeit Anzeigt vor oder nach 10 Uhr
  728.                     print("Systemhinweis               Zeit:  " .. zeit) -- vor 10 Uhr, es geht um die laenge
  729.             else
  730.                     print("Systemhinweis               Zeit: " .. zeit) -- nach 10 Uhr
  731.             end
  732.     end
  733.     --end: Uhrzeit und Tag in Minecraft auslesen und anzeigen
  734.     local function timeshow()
  735.             while true do --prueft endlos den status
  736.                     term.setCursorPos(1, 1) -- position auf Zeit setzten
  737.                     local day -- locale Variable fuer den Tag in Minecraft
  738.                     local zeit -- locale Variable fuer die Uhrzeit in Minecraft
  739.                     day = os.day() -- nicht im Gebrauch!
  740.                     zeit = textutils.formatTime(os.time(), true) -- wandelt die anzeige in das 24 Stunden Format
  741.                     if (string.len(zeit) == 4) then -- zeit Anzeigt vor oder nach 10 Uhr
  742.                             print("Einstellungen               Zeit:  " .. zeit) -- vor 10 Uhr, es geht um die laenge
  743.                     else
  744.                             print("Einstellungen               Zeit: " .. zeit) -- nach 10 Uhr
  745.                     end
  746.                      
  747.                     term.setCursorPos(26, corsor) -- setzt angezeigte curser zurueck zur eingabe
  748.                     sleep(0.4) -- minecraft minute dauert 0.8 Sekunden
  749.             end
  750.     end
  751.      
  752.     --end: Programmsteuerung eingabe
  753.      
  754.     --start: bereinigt den Bildschirm und baut das eingabe Fenster auf
  755.     function bildschirmStart()
  756.             shell.run("clear") -- löscht allties auf dem Bildschirm
  757.             print("Systemhinweis")
  758.             print("=======================================")
  759.             term.setCursorPos(1,6)
  760.             term.clearLine()
  761.             print("---------------------------------------")
  762.             term.setCursorPos(1,11)
  763.             print("---------------------------------------")
  764.     end
  765.     --end: bereinigt den Bildschirm und baut das eingabe Fenster auf
  766.      
  767.     --start: zeigt an das die Turel fertig sit
  768.     function zeigtFertig()
  769.             term.setCursorPos(1,10) -- zeile 10 fuer anzeige bereinigen
  770.             term.clearLine() -- zeile 10 fuer anzeige bereinigen
  771.             print("!!!Fertig - Programm beendet!!!") -- fertig meldung
  772.             term.setCursorPos(1,12) -- letzte zeile bereinigen
  773.             term.clearLine() -- letzte zeile bereinigen
  774.     end
  775.     --end: zeigt an das die Turel fertig sit
  776.      
  777.     function einstellungenSpeichern()
  778.             config = fs.open("strip.conf", "w") -- oeffent die config datei
  779.             config.writeLine("slotEndertruhe       = " .. slotEndertruhe)
  780.             config.writeLine("slotFackeln1         = " .. slotFackeln1)
  781.             config.writeLine("slotFackeln2         = " .. slotFackeln2)
  782.             config.writeLine("slotFackeln3         = " .. slotFackeln3)
  783.             config.writeLine("slotAutofuel         = " .. slotAutofuel)
  784.             config.writeLine("fackelnSeitengang    = " .. fackelnSeitengang)
  785.             config.writeLine("laengeSeitengang     = " .. laengeSeitengang)
  786.             config.writeLine("entleerungEndertruhe = " .. entleerungEndertruhe)
  787.             config.close() -- schließt die einstellungen
  788.     end
  789.      
  790.      
  791.     function einstellungenLesen()
  792.             config = fs.open("strip.conf", "r")
  793.             if config then
  794.                     line = config.readLine()
  795.                     slotEndertruhe = tonumber(string.sub(line,24,30))
  796.                     line = config.readLine()
  797.                     slotFackeln1 = tonumber(string.sub(line,24,30))
  798.                     line = config.readLine()
  799.                     slotFackeln2 = tonumber(string.sub(line,24,30))
  800.                     line = config.readLine()
  801.                     slotFackeln3 = tonumber(string.sub(line,24,30))
  802.                     line = config.readLine()
  803.                     slotAutofuel = tonumber(string.sub(line,24,30))
  804.                     line = config.readLine()
  805.                     fackelnSeitengang = tonumber(string.sub(line,24,30))
  806.                     line = config.readLine()
  807.                     laengeSeitengang = tonumber(string.sub(line,24,30))
  808.                     line = config.readLine()
  809.                     entleerungEndertruhe = tonumber(string.sub(line,24,30))
  810.                     config.close()
  811.             else
  812.                     slotEndertruhe = 15 -- Slot fuer die Endertruhe
  813.                     slotFackeln1 = 16    -- Slot fuer Fakeln 1
  814.                     slotFackeln2 = 12    -- Slot fuer Fakeln 2 stop
  815.                     slotFackeln3 = 8    -- Slot fuer Fakeln 3 stop
  816.                     slotAutofuel = 13    -- Slot fuer Autofuel
  817.                     fackelnSeitengang = 0 -- fackeln im seitengang, 0=keine
  818.                     laengeSeitengang = 5  -- laenge des seitengangs 0 = 5
  819.                     entleerungEndertruhe = 3 --nach wieielen gaengen wird die Endertruhe geleert, Standart 3    stop
  820.             end
  821.     end
  822.      
  823.      
  824.     --**Hauptprogrammsteuerung
  825.     --Setzen der globale Variablen (diese sind ueberall verfuegbar)
  826.     endertruhe = 0           -- Endertruhe = nein
  827.     fackeln = 0              -- Fackeln = 0
  828.     ganganzahl = 0           -- Anzahl Gaenge = 0
  829.     fuellevel = 0            -- Fuel-Level = 0
  830.     einstellung = 0          -- keine einstellungen vornehmen
  831.     slotEndertruhe = 0       -- Slot fuer die Endertruhe
  832.     slotFackeln1 = 0         -- Slot fuer Fakeln 1
  833.     slotFackeln2 = 0         -- Slot fuer Fakeln 2 stop
  834.     slotFackeln3 = 0         -- Slot fuer Fakeln 3 stop
  835.     fakelanzahl1 = 0         -- anzahl der fakeln in slot 1 nach dem start
  836.     fakelanzahl2 = 0         -- anzahl der fakeln in slot 2 nach dem start
  837.     fakelanzahl3 = 0         -- anzahl der fakeln in slot 3 nach dem start
  838.     slotAutofuel = 0         -- Slot fuer Autofuel
  839.     fackelnSeitengang = 0    -- fackeln im seitengang, 0=keine
  840.     laengeSeitengang = 0     -- laenge des seitengangs 0 = 5
  841.     entleerungEndertruhe = 0 -- nach wieielen gaengen wird die Endertruhe geleert, Standart 3
  842.     slotsAnzeige = {"_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_"}
  843.     corsor = 0               -- line of the cursor
  844.     -- bereinigt den Bildschirm und baut das eingabe Fenster auf
  845.     bildschirmStart()
  846.     einstellungenLesen()
  847.     -- fuerht 2 funktionen gleichzeitig aus, eingab und aktuellisuerung der Fakeln, Endertruhe, und Fullevel
  848.      
  849.     parallel.waitForAny(eingabeTunnellaenge, checkStatus)
  850.     while (einstellung == 1) do
  851.             parallel.waitForAny(einstellungen,timeshow) -- bearbeitung der einstellung
  852.             einstellungenSpeichern()
  853.             bildschirmStart()
  854.             einstellungenLesen()
  855.             parallel.waitForAny(eingabeTunnellaenge, checkStatus)
  856.     end
  857.      
  858.     --Laed die Turtel vor dem start wieder auf wen etwas in slot 13 abgelegt wurde und merke die fakeln
  859.     turtle.select(slotAutofuel) -- Slot 13 auswaehlen
  860.     turtle.refuel(turtle.getItemCount(slotAutofuel)) -- auffuellung mit der anzahl Items in Slot 13
  861.      
  862.     fakelanzahl1 = turtle.getItemCount(slotFackeln1)
  863.     fakelanzahl2 = turtle.getItemCount(slotFackeln2)
  864.     fakelanzahl3 = turtle.getItemCount(slotFackeln3)
  865.      
  866.      
  867.     -- hier wird der tunnel gegraben
  868.     if (ganganzahl ~= 0) then -- mach das nur wen du auch wirklich was gemacht hast
  869.             tunnel() -- vielleicht so oder doch ueber einen extra status anzeige
  870.             back() -- hier komm die turtel wieder zurueck zum ausgangspunkt
  871.     end
  872.     --zeit an das die Turtel fertig ist
  873.     zeigtFertig()
Advertisement
Add Comment
Please, Sign In to add comment