Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print("Programm Forst gestartet!")
- local FuelBagger = turtle.getFuelLevel()
- print("Fuellstand Turtle: ",FuelBagger)
- if turtle.getFuelLevel() ~= "unlimited" and turtle.getFuelLevel() < 1 then
- for t=1,16 do
- local data = turtle.getItemDetail()
- if data then
- if data.name=="minecraft:coal" or data.name=="ic2:coke" then
- turtle.refuel()
- print("Treibstoff erkannt! Turtle betankt!")
- local FuelBagger = turtle.getFuelLevel()
- print("Fuellstand Turtle: ",FuelBagger)
- break
- end
- end
- turtle.select(t)
- if t==16 then
- print("Treibstoff nicht erkannt! Benoetigt Kohle!")
- return
- end
- end
- end
- write("Soll eine Kiste verwendet werden? (yes/no): ")
- kiste = io.read()
- if kiste=="yes" then
- print("Platzieren Sie eine Kiste hinter der Turtle!")
- end
- write("Loop-funktion aktivieren? (yes/no): ")
- loop = io.read()
- print("Turtle forest gestartet!")
- function Grundstellung()
- PosLange=0
- PosHohe=0
- PosBreite=0
- PosBreiteF=0
- PosLangeTree=0
- TreeHohe=0
- TreeBreite=0
- TreeScanLeft=0
- TreeScanRight=0
- local FuelBagger = turtle.getFuelLevel()
- print("Fuellstand Turtle: ",FuelBagger)
- end
- function Grundstellung2()
- PosHohe=0
- PosBreite=0
- PosBreiteF=0
- PosLangeTree=0
- TreeHohe=0
- TreeBreite=0
- TreeScanLeft=0
- TreeScanRight=0
- end
- function Suche()
- for su=1,10 do
- local success, data = turtle.inspect()
- if success then
- if data.name=="minecraft:log" then
- Scan()
- break
- end
- if data.name=="minecraft:sapling" then
- Scan()
- break
- end
- print("Hinderniss erkannt!")
- print("Kehre zu Start zurück")
- GoBack()
- break
- end
- turtle.forward()
- PosLange=PosLange+1
- end
- print("Keinen weiteren Baum gefunden!")
- GoBack()
- end
- function Scan()
- print("Scanne...")
- scanzahl=0
- while scanzahl==0 do
- local success, data = turtle.inspect()
- if success then
- if data.name=="minecraft:log" then
- scanzahl=1
- print("Baum gefunden")
- PosLangeTree=PosLange
- ScanTreeHohe()
- end
- end
- end
- end
- function ScanTreeHohe()
- print("Scanne Baum...")
- scanzahl=0
- TreeLange=0
- TreeHohe2=0
- ScanBlock=0
- while scanzahl==0 do
- if TreeLange==3 then
- TreeLange=0
- end
- scanzahl2=0
- local success, data = turtle.inspect()
- if success then
- if data.name=="minecraft:log" or data.name=="minecraft:leaves" then
- ScanBlock=1
- local success, data = turtle.inspectUp()
- if not success then
- turtle.up()
- PosHohe=PosHohe+1
- if TreeBreite==0 then
- TreeHohe=TreeHohe+1
- end
- else
- turtle.turnRight()
- turtle.turnRight()
- local success, data = turtle.inspect()
- if not success then
- turtle.forward()
- PosLange=PosLange-1
- while scanzahl2==0 do
- local success, data = turtle.inspectUp()
- if not success then
- turtle.up()
- PosHohe=PosHohe+1
- if TreeBreite==0 then
- TreeHohe=TreeHohe+1
- end
- scanzahl2=1
- else
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- turtle.forward()
- PosLange=PosLange-1
- end
- end
- else
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- end
- turtle.turnRight()
- turtle.turnRight()
- end
- end
- else
- turtle.forward()
- PosLange=PosLange+1
- TreeLange=TreeLange+1
- if TreeLange==3 then
- if TreeBreite==0 then
- scanzahl=1
- else
- turtle.turnRight()
- turtle.turnRight()
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- turtle.forward()
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- turtle.forward()
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- turtle.forward()
- PosLange=PosLange-3
- turtle.turnRight()
- turtle.turnRight()
- while scanzahl2==0 do
- local success, data = turtle.inspectUp()
- if not success then
- turtle.up()
- PosHohe=PosHohe+1
- scanzahl2=1
- else
- turtle.turnRight()
- turtle.turnRight()
- local success, data = turtle.inspect()
- if not success then
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- turtle.forward()
- PosLange=PosLange-1
- turtle.turnRight()
- turtle.turnRight()
- else
- turtle.down()
- PosHohe=PosHohe-1
- end
- end
- end
- if PosHohe>TreeHohe then
- scanzahl=1
- end
- end
- end
- end
- end
- turtle.turnRight()
- turtle.turnRight()
- scanzahl=0
- while scanzahl==0 do
- local success, data = turtle.inspectDown()
- if not success then
- turtle.down()
- PosHohe=PosHohe-1
- else
- if data.name=="minecraft:log" or data.name=="minecraft:leaves" then
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- turtle.forward()
- PosLange=PosLange-1
- else
- scanzahl=1
- end
- end
- end
- turtle.turnRight()
- turtle.turnRight()
- scanzahl=0
- while scanzahl==0 do
- success=turtle.forward()
- if success then
- PosLange=PosLange+1
- end
- PosLangeR=PosLange+1
- if PosLangeTree<PosLangeR then
- scanzahl=1
- end
- end
- if ScanBlock==0 then
- if TreeScanLeft==1 then
- TreeScanLeft=2
- turtle.turnRight()
- scanzahl=0
- while scanzahl==0 do
- local success, data = turtle.inspect()
- if not success then
- turtle.forward()
- PosBreite=PosBreite-1
- if PosBreite<1 then
- scanzahl=1
- end
- else
- turtle.turnRight()
- turtle.forward()
- PosLange=PosLange-1
- turtle.turnLeft()
- end
- end
- turtle.turnLeft()
- scanzahl=0
- while scanzahl==0 do
- PosLangeR=PosLange+1
- if PosLangeTree<PosLangeR then
- scanzahl=1
- else
- success=turtle.forward()
- if success then
- PosLange=PosLange+1
- end
- end
- end
- end
- if TreeScanRight==1 then
- TreeScanRight=2
- turtle.turnLeft()
- scanzahl=0
- while scanzahl==0 do
- local success, data = turtle.inspect()
- if not success then
- turtle.forward()
- PosBreite=PosBreite-1
- if PosBreite<1 then
- scanzahl=1
- end
- else
- turtle.turnLeft()
- turtle.forward()
- PosLange=PosLange-1
- turtle.turnRight()
- end
- end
- turtle.turnRight()
- scanzahl=0
- while scanzahl==0 do
- PosLangeR=PosLange+1
- if PosLangeTree<PosLangeR then
- scanzahl=1
- else
- success=turtle.forward()
- if success then
- PosLange=PosLange+1
- end
- end
- end
- end
- end
- if TreeScanLeft~=2 then
- TreeScanLeft=1
- turtle.turnLeft()
- local success, data = turtle.inspect()
- if not success then
- turtle.forward()
- PosBreite=PosBreite+1
- turtle.turnRight()
- TreeBreite=TreeBreite+1
- ScanTreeHohe()
- return
- else
- if data.name=="minecraft:log" or data.name=="minecraft:leaves" then
- scanzahl=0
- while scanzahl==0 do
- turtle.turnLeft()
- turtle.forward()
- PosLange=PosLange-1
- turtle.turnRight()
- local success, data = turtle.inspect()
- if not success then
- scanzahl=1
- end
- end
- turtle.forward()
- PosBreite=PosBreite+1
- turtle.turnRight()
- TreeBreite=TreeBreite+1
- ScanTreeHohe()
- return
- end
- end
- end
- if TreeScanRight~=2 then
- TreeScanRight=1
- turtle.turnRight()
- local success, data = turtle.inspect()
- if not success then
- turtle.forward()
- PosBreite=PosBreite+1
- turtle.turnLeft()
- TreeBreite=TreeBreite+1
- ScanTreeHohe()
- return
- else
- if data.name=="minecraft:log" or data.name=="minecraft:leaves" then
- scanzahl=0
- while scanzahl==0 do
- turtle.turnRight()
- turtle.forward()
- PosLange=PosLange-1
- turtle.turnLeft()
- local success, data = turtle.inspect()
- if not success then
- scanzahl=1
- end
- end
- turtle.forward()
- PosBreite=PosBreite+1
- turtle.turnLeft()
- TreeBreite=TreeBreite+1
- ScanTreeHohe()
- return
- end
- end
- end
- ForestGrundstellung()
- end
- function ForestGrundstellung()
- mess=TreeBreite/2
- turtle.turnRight()
- turtle.turnRight()
- for m=1,mess do
- turtle.forward()
- PosLange=PosLange-1
- end
- turtle.turnRight()
- for m=1,mess do
- turtle.forward()
- PosBreite=PosBreite+1
- end
- turtle.turnRight()
- Forest()
- end
- function Forest()
- print("Fälle Baum...")
- for h=1,TreeHohe do
- for b=1,TreeBreite do
- for l=1,TreeBreite do
- while turtle.detect()==true do
- turtle.dig()
- os.sleep(0.2)
- end
- turtle.forward()
- PosLange=PosLange+1
- end
- turtle.turnRight()
- turtle.turnRight()
- for l=1,TreeBreite do
- turtle.forward()
- PosLange=PosLange-1
- end
- turtle.turnLeft()
- if b<TreeBreite then
- turtle.forward()
- PosBreiteF=PosBreiteF+1
- end
- turtle.turnLeft()
- end
- turtle.turnLeft()
- for b=2,TreeBreite do
- turtle.forward()
- PosBreiteF=PosBreiteF-1
- end
- turtle.turnRight()
- if h<TreeHohe then
- turtle.up()
- PosHohe=PosHohe+1
- end
- end
- for h=2,TreeHohe do
- turtle.down()
- PosHohe=PosHohe-1
- end
- BaumGrundstellung()
- end
- function BaumGrundstellung()
- mess=TreeBreite/2
- turtle.turnRight()
- for m=1,mess do
- turtle.forward()
- PosBreite=PosBreite-1
- end
- turtle.turnLeft()
- for m=1,mess do
- turtle.forward()
- PosLange=PosLange+1
- end
- Plant()
- end
- function Plant()
- inventar=0
- t=0
- while t < 16 or inventar==16 do
- t=t+1
- if t>0 and t<17 then
- turtle.select(t)
- end
- local data = turtle.getItemDetail()
- if data then
- if data.name=="minecraft:sapling" then
- break
- else
- inventar=inventar+1
- end
- else
- inventar=inventar+1
- end
- if inventar==16 then
- print("Setzling fehlt!")
- inventar=0
- t=0
- end
- end
- turtle.place()
- os.sleep(0.2)
- umrunden()
- end
- function umrunden()
- turtle.turnLeft()
- turtle.forward()
- turtle.turnRight()
- turtle.forward()
- turtle.forward()
- turtle.turnRight()
- turtle.forward()
- turtle.turnLeft()
- PosLange=PosLange+2
- Grundstellung2()
- Suche()
- end
- function GoBack()
- for gbh=1,40 do
- turtle.up()
- end
- turtle.turnRight()
- turtle.turnRight()
- for gbl=1,PosLange do
- turtle.forward()
- end
- turtle.turnRight()
- turtle.turnRight()
- for gbh=1,40 do
- turtle.down()
- end
- Kiste()
- end
- function Kiste()
- if kiste=="yes" then
- turtle.turnRight()
- turtle.turnRight()
- local success, data = turtle.inspect()
- if success then
- if data.name=="minecraft:chest" then
- for k=1,16 do
- turtle.select(k)
- local data = turtle.getItemDetail()
- if data then
- if data.name~="minecraft:coal" and data.name~="ic2:coke" and data.name~="minecraft:sapling" then
- DropTrue = turtle.drop()
- end
- end
- end
- if DropTrue == false then
- print("Kiste voll! Bitte Kiste entleeren!")
- end
- else
- print("Turtle findet keine Kiste zum leeren des Inventars!")
- end
- end
- turtle.turnRight()
- turtle.turnRight()
- end
- Grundstellung()
- if loop=="yes" then
- Suche()
- end
- end
- Grundstellung()
- Suche()
Advertisement
Add Comment
Please, Sign In to add comment