Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- term.clear()
- term.setCursorPos(1,1)
- local fuelReq=59*2+2
- -- CHECK FOR CORRECT CONFIG
- turtle.select(1)
- if turtle.getItemCount(1)<1 or turtle.getItemCount(2)<1 then
- error("you must have at least 1 seed in slot 1 and 1 wheat in slot 2")
- end
- if turtle.compareTo(2) then
- error("you have the same item in slot 1 and 2. slot 1 must be seeds and slot 2 must be wheat")
- end
- --WAIT FOR CORRECT PLANTING TIME
- print("press P to begin planting")
- repeat
- local evt={os.pullEvent("char")}
- until evt[2]=="p" or evt[2]=="P"
- for run=1,2 do
- --CHECK CONDITIONS AND RESTOCK/REFUEL
- if turtle.getFuelLevel()<fuelReq then
- turtle.select(4)
- while turtle.getFuelLevel()<fuelReq and turtle.suckDown() do
- while turtle.getItemCount(4)>0 and turtle.getFuelLevel()<fuelReq do
- turtle.refuel(1)
- end
- end
- if turtle.getFuelLevel()<fuelReq then
- error("insufficient fuel to complete planting")
- elseif turtle.getItemCount(4)>0 then
- turtle.dropDown()
- end
- end
- turtle.turnRight()
- for i=1,2 do turtle.forward() end
- turtle.turnLeft()
- if turtle.getItemCount(2)>1 then turtle.slect(2) turtle.dropDown(turtle.getItemCount(2)-1) end
- for nSlot=4,16 do
- if turtle.getItemCount(nSlot)>0 then
- turtle.select(nSlot)
- turtle.dropDown()
- end
- end
- if turtle.getItemCount(1)>1 then
- turtle.transferTo(3,turtle.getItemCount(1)-1)
- end
- turtle.select(3)
- while turtle.getItemCount(3)<60 and turtle.suckDown() do if not turtle.compareTo(1) then turtle.dropUp() end end
- turtle.select(4)
- while turtle.suckUp() do turtle.dropDown() end
- if turtle.getItemCount(3)<60 then
- error("insufficient seeds to complete planting")
- end
- --PLANT/HARVEST
- turtle.select(run==1 and 3 or 2)
- for side=1,2 do
- for a=1,2 do
- for i=1,5 do turtle.forward() turtle[(run==1 and "place" or "dig").."Down"]() end
- if a==1 then turtle.forward() end
- end
- if side==1 then
- turtle.turnRight() turtle.forward() turtle.turnRight()
- else
- turtle.turnLeft() turtle.forward() turtle.turnLeft()
- end
- for a=1,2 do
- for i=1,4 do turtle.forward() if i~=4-a then turtle[(run==1 and "place" or "dig").."Down"]() end end
- if a==1 then turtle.forward() end
- end
- if side==2 then
- turtle.turnRight() turtle.forward() turtle.turnRight()
- else
- turtle.turnLeft() turtle.forward() turtle.turnLeft()
- end
- for a=1,2 do
- for i=1,4 do
- if a==1 then
- turtle[(run==1 and "place" or "dig").."Down"]() turtle.forward()
- else
- turtle.forward() turtle[(run==1 and "place" or "dig").."Down"]()
- end
- end
- end
- if side==1 then
- turtle.turnRight() turtle.forward() turtle.turnRight()
- else
- turtle.turnLeft() turtle.forward() turtle.turnLeft()
- end
- for a=1,2 do
- for i=1,3 do turtle.forward() turtle[(run==1 and "place" or "dig").."Down"]() end
- if a==1 then turtle.forward() end
- end
- if side==2 then
- turtle.turnRight() turtle.forward() turtle.turnRight()
- else
- turtle.turnLeft() turtle.forward() turtle.turnLeft()
- end
- for a=1,2 do
- turtle.forward() turtle.forward() turtle[(run==1 and "place" or "dig").."Down"]()
- end
- if side==1 then
- turtle.turnLeft()
- else
- turtle.turnRight()
- end
- for i=1,(side==1 and 6 or 4) do turtle.forward() end
- if side==1 then
- turtle.turnLeft()
- else
- turtle.turnRight()
- end
- for i=1,7 do turtle.forward() end
- turtle.turnLeft()
- if side==2 and run==2 then for i=1,2 do turtle.forward() end end
- turtle.turnLeft()
- end
- if run==1 then
- turtle.select(3)
- turtle.dropDown()
- term.clear()
- term.setCursorPos(1,1)
- print("waiting for seeds to grow.")
- for min=37,0,-1 do
- for sec=60,0,-1 do
- term.setCursorPos(1,2)
- write((min<10 and "0" or "")..min..":"..(sec<10 and "0" or "")..sec)
- sleep(1)
- end
- end
- term.clear()
- term.setCursorPos(1,1)
- print("Harvesting")
- else
- for i=1,16 do
- turtle.select(i)
- if i>=2 then
- turtle.dropDown(turtle.getItemCount(i)-1)
- else
- turtle.dropDown()
- end
- end
- if side==2 then
- turtle.turnLeft()
- for i=1,2 do turtle.forward() end
- turtle.turnRight()
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment