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