Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Oak = "minecraft:oak_log"
- local Birch = "minecraft:birch_log"
- local Spruce = "minecraft:spruce_log"
- local Jungle = "minecraft:jungle_log"
- local OakSap = "minecraft:oak_sapling"
- rednet.open("left")
- -- Section Funtions --
- function Startup()
- Start()
- Circle()
- End()
- Reload()
- end
- --check if there are enough sapplings to set
- function CheckSaplings()
- turtle.select(1)
- amount = turtle.getItemCount()
- turtle.suck(64 - amount)
- end
- -- check if block is a log
- function CheckFrontBlock()
- local success, data = turtle.inspect()
- if success then
- if data.name == Oak or data.name == Birch or data.name == Spruce or data.name == Jungle then
- ChopTree()
- end
- else
- SetSapling()
- end
- turn()
- end
- -- chop rest of the tree
- function ChopTree()
- turtle.dig()
- turtle.forward()
- for i = 0, 5, 1 do
- turtle.digUp()
- turtle.up()
- end
- for i = 0, 5, 1 do
- turtle.digDown()
- turtle.down();
- end
- turn()
- turtle.forward()
- turn()
- SetSapling()
- end
- function SetSapling()
- turtle.select(1)
- if turtle.getItemCount() > 0 then
- if turtle.getItemDetail().name == OakSap then
- turtle.place()
- end
- end
- end
- -- get Sapplings and fuel
- function Reload()
- turtle.turnLeft()
- turtle.forward()
- turtle.turnRight()
- CheckSaplings()
- turtle.turnRight()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- Refuel()
- turtle.turnLeft()
- turtle.forward()
- turtle.turnLeft()
- end
- -- move to startlocation
- function Start()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- for i = 0, 5, 1 do
- turtle.forward()
- end
- turtle.turnRight()
- end
- -- end circle
- function End()
- turtle.forward()
- turtle.forward()
- Empty()
- end
- -- start circle
- function Circle()
- MoveLine()
- turtle.turnRight()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.turnRight()
- MoveLine()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- MoveLine()
- turtle.turnRight()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.turnRight()
- MoveLine()
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.forward()
- turtle.turnLeft()
- MoveLine()
- turtle.turnLeft()
- for i = 0, 5, 1 do
- turtle.forward()
- end
- turtle.turnLeft()
- for i = 0, 14, 1 do
- turtle.forward()
- end
- end
- -- move line forward
- function MoveLine()
- for i = 0, 14, 1 do
- turtle.dig()
- turtle.forward()
- turtle.turnRight()
- CheckFrontBlock()
- -- turn()
- CheckFrontBlock()
- turtle.turnLeft()
- end
- end
- -- empty inventory when full
- function Empty()
- for i = 1, 16, 1 do
- turtle.select(i)
- turtle.drop()
- end
- end
- -- turn 180°
- function turn()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- -- refuel or wait if there is not enough
- function Refuel()
- repeat
- turtle.select(2)
- turtle.suck(64)
- turtle.refuel()
- until(turtle.getFuelLevel() > 10000)
- end
- -- program loop
- while true do
- local id, msg = rednet.receive(1)
- if msg == "Wood" then
- Startup()
- rednet.send(id, "CuttingComplete")
- end
- end
Add Comment
Please, Sign In to add comment