Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Not ready yet!
- -- Does not work yet!
- --(( Variables ))--
- local cutCount = 0
- local moves = {
- dig = {
- ["f"] = turtle.dig,
- ["u"] = turtle.digUp,
- ["d"] = turtle.digDown,
- },
- move = {
- ["f"] = turtle.forward,
- ["u"] = turtle.up,
- ["d"] = turtle.down,
- },
- attack = {
- ["f"] = turtle.attack,
- ["u"] = turtle.attackUp,
- ["d"] = turtle.attackDown,
- },
- }
- --(( Functions ))--
- function go(direction, fromNum, toNum,option)
- while not moves.move[direction]() do
- if fromNum and toNum then
- select(fromNum,toNum,option)
- end
- if not moves.dig[direction]() then
- moves.attack[direction]()
- end
- sleep(.5)
- end
- end
- function select(fromNum, toNum, option)
- if not toNum or fromNum == toNum then
- turtle.select(fromNum)
- return true
- end
- for slot = fromNum, toNum do
- if turtle["getItem"..option]() > 0 then
- turtle.select(slot)
- return true
- end
- end
- return false
- end
- function cutTree()
- if turtle.getItemSpace(1) > 0 then
- turtle.select(1)
- else
- if not select(5,16,"Space") then
- turtle.select(1)
- return false
- end
- end
- go("f",5,16,"Space")
- turtle.select(1)
- while turtle.compareUp() do
- if not select(5,16,"Space") then
- turtle.select(1)
- return false
- end
- go("u",5,16,"Space")
- end
- while not turtle.detectDown() do
- go("d",5,16,"Space")
- end
- if not turtle.back() then
- for turns = 1, 2 do
- turtle.turnLeft()
- end
- go("f",5,16,"Space")
- for turns = 1, 2 do
- turtle.turnRight()
- end
- end
- return true
- end
- --(( Main program ))--
- if not fs.exists("."..shell.getRunningProgram().."Data") then
- file = fs.open("."..shell.getRunningProgram().."Data","w")
- file.write(cutCount)
- file.close()
- else
- file = fs.open("."..shell.getRunningProgram().."Data","r")
- cutCount = tonumber(file.readLine())
- file.close()
- end
- term.setCursorPos(1,1)
- term.clear()
- while true do
- if turtle.getItemCount(1) < 1 then
- break
- end
- term.setCursorPos(1,1)
- term.clear()
- print("Remove the log to stop!")
- print()
- print("Have log in slot 1!")
- print("Have saplings in slot 2-4!")
- print()
- print("Trees cut: "..cutCount)
- print()
- if not turtle.detect() then
- if not select(2,4,"Count") then
- print("Out of saplings!")
- break
- end
- while not turtle.place() do
- moves.attack["f"]()
- sleep(.5)
- end
- end
- turtle.select(1)
- if turtle.compare() then
- if chopTree() then
- cutCount = cutCount + 1
- file = fs.open("."..shell.getRunningProgram().."Data","w")
- file.write(cutCount)
- file.close()
- else
- print("Failed to chop tree!")
- break
- end
- end
- sleep(.5)
- end
- turtle.select(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement