Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- term.clear()
- term.setCursorPos(1, 1)
- minerID = os.getComputerID()
- turtleName = nil
- consoleID = 0
- version = "1.0"
- function getConsoleID()
- local fname = "ConsoleID"
- if fs.exists(fname) then
- file = fs.open(fname, "r")
- consoleID = tonumber(file.readAll())
- file.close()
- print("Monitor Console ID: "..consoleID)
- else
- updateStatus("Waiting for Console ID...",true)
- term.write("Monitor Console ID: ")
- consoleID = io.read()
- file = fs.open(fname, "w")
- file.write(consoleID)
- file.close()
- consoleID = tonumber(consoleID)
- end
- end
- function updateStatus(msg, silent)
- if not rednet.isOpen("right") then rednet.open("right") end
- if rednet.isOpen("right") then
- if turtleName == nil then return end
- networkmsg = "MM:"..turtleName..": "..msg
- if consoleID == 0 then
- rednet.broadcast(networkmsg)
- else
- rednet.send(consoleID,networkmsg)
- end
- end
- if not silent then print(msg) end
- end
- function getTurtleName()
- local fname = "TurtleName"
- if fs.exists(fname) then
- file = fs.open(fname, "r")
- turtleName = file.readAll()
- file.close()
- else
- term.write("Turtle Name: ")
- turtleName = io.read()
- file = fs.open(fname, "w")
- file.write(turtleName)
- file.close()
- end
- end
- -- Main Program
- updateStatus("Starting")
- term.clear()
- term.setCursorPos(1,1)
- getTurtleName()
- getConsoleID()
- function update()
- end
- function fuelItUp()
- updateStatus("...Working")
- --Finds out if the turtle needs to refuel and if it has fuel to run
- needsFuel = turtle.getFuelLevel()
- minimumFuelLevel = 10
- hasFuel = turtle.getItemCount(16)
- useFuel = turtle.refuel()
- if needsFuel == "unlimited" then
- else
- if tonumber(needsFuel) < tonumber(minimumFuelLevel) then
- if hasFuel > 0 then
- turtle.select(16)
- turtle.refuel(1)
- turtle.select(1)
- else
- updateStatus("Please insert fuel into slot 16")
- repeat os.sleep(1)
- until tonumber(turtle.getItemCount(16)) > 0
- fuelItUp()
- end
- end
- end
- end
- --Digs block in front, then block above, then moves up. Moves back down when finished
- local function column()
- updateStatus("...Cutting...")
- while turtle.detectUp() do
- turtle.dig()
- turtle.digUp()
- turtle.up()
- end
- turtle.dig()
- while not turtle.detectDown() do
- updateStatus("...Coming Down")
- turtle.down()
- end
- end
- --Picks up items on ground
- local function suck()
- updateStatus("Complete... Please move me!")
- turtle.suck()
- end
- --Cuts the tree down, column by column
- local function fell()
- updateStatus("...Moving to next Column...")
- turtle.dig()
- turtle.forward()
- column()
- turtle.turnRight()
- turtle.dig()
- turtle.forward()
- turtle.turnLeft()
- column()
- end
- --Replants the tee and fills the chest with it's inventory
- local function replant()
- updateStatus("Replanting...")
- turtle.select(15)
- suck()
- turtle.place()
- turtle.turnLeft()
- suck()
- turtle.forward()
- suck()
- turtle.turnRight()
- suck()
- turtle.place()
- turtle.turnRight()
- suck()
- turtle.place()
- turtle.turnRight()
- suck()
- turtle.forward()
- for slot=2,7 do
- turtle.select(slot)
- turtle.drop()
- end
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(15)
- turtle.place()
- turtle.select(1)
- while not turtle.compare() do
- turtle.select(16)
- turtle.place()
- turtle.select(1)
- end
- end
- --Executes until told to stop
- while true do
- fell()
- replant()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement