Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Author: Flyboxx --
- -- Date: Dec/5/2014 --
- -- Version: 1.1 --
- -- Updated Jan/30/2017 to 1.1 --
- clearscr = function()
- term.clear()
- term.setCursorPos(1,1)
- end
- clearscr()
- print("====== Farmer ======")
- print("Ver 1.1")
- print("By Flyboxx")
- sleep(1)
- clearscr()
- -- Variables --
- local args = {...}
- farming = true
- ystep = 1
- xpos = 1
- ypos = 0
- -- Init --
- -- Functions --
- setPos = function(x, y)
- xpos = x
- ypos = y
- end
- returnHome = function()
- turtle.turnLeft()
- for i = 1, 8, 1 do
- turtle.forward()
- end
- turtle.turnLeft()
- for i = 1, 9, 1 do
- turtle.forward()
- end
- turtle.turnLeft()
- turtle.turnLeft()
- end
- clearInv = function()
- data = {}
- for i = 1,16,1 do
- turtle.select(i)
- if turtle.getItemCount(i) ~= 0 then
- data = turtle.getItemDetail()
- if data.name == "minecraft:wheat_seeds" then
- turtle.dropDown()
- elseif data.name == "minecraft:wheat" then
- turtle.turnLeft()
- turtle.drop()
- turtle.turnRight()
- else
- turtle.dropUp()
- end
- end
- end
- end
- getFuel = function(arg1)
- if arg1 == "first" then
- print("Refueling...")
- turtle.turnRight()
- turtle.select(1)
- turtle.suck()
- end
- turtle.refuel(1)
- if turtle.getFuelLevel() < 99 then
- getFuel("notfirst")
- else
- --if turtle.getItemDetail().name == "minecraft:bucket" then--
- --turtle.dropUp()--
- --else
- --turtle.drop()--
- --end--
- turtle.turnLeft()
- end
- end
- initFarm = function()
- clearInv()
- if turtle.getFuelLevel() < 99 then
- getFuel("first")
- end
- turtle.forward()
- setPos(1,1)
- end
- -- ==========*Plant Program*========== --
- plant = function()
- initPlant()
- clearscr()
- print("Planting...")
- while(farming) do
- turtle.placeDown()
- if turtle.getItemCount() == 0 then
- turtle.select(turtle.getSelectedSlot() + 1)
- end
- if xpos == 9 and ypos == 9 then
- returnHome()
- turtle.select(1)
- break
- end
- if ypos == 9 then
- turtle.turnRight()
- turtle.forward()
- xpos = xpos + 1
- turtle.turnRight()
- turtle.placeDown()
- ystep = -1
- end
- if ypos == 1 and xpos ~= 1 then
- turtle.turnLeft()
- turtle.forward()
- xpos = xpos + 1
- turtle.turnLeft()
- turtle.placeDown()
- ystep = 1
- end
- turtle.forward()
- ypos = ypos + ystep
- end
- end
- -- ==========*Harvest Program*========== --
- harvest = function()
- initFarm()
- clearscr()
- print("Harvesting...")
- while(farming) do
- turtle.digDown()
- if xpos == 9 and ypos == 9 then
- returnHome()
- clearInv()
- turtle.select(1)
- break
- end
- if ypos == 9 then
- turtle.turnRight()
- turtle.forward()
- xpos = xpos + 1
- turtle.turnRight()
- turtle.digDown()
- ystep = -1
- end
- if ypos == 1 and xpos ~= 1 then
- turtle.turnLeft()
- turtle.forward()
- xpos = xpos + 1
- turtle.turnLeft()
- turtle.digDown()
- ystep = 1
- end
- turtle.forward()
- ypos = ypos + ystep
- end
- end
- -- ==========*Main Program*========== --
- while(farming) do
- harvest()
- plant()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement