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