Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --------------------------------
- -- Vrill's farmer v 1.1 --
- --------------------------------
- function move(n)
- local can_move=true
- local i
- if n<0 then
- n=-n
- for i=1,n do
- can_move=turtle.back()
- while not can_move do
- print("There is a something on my way!")
- sleep(4)
- can_move=turtle.back()
- end
- end
- else
- for i=1,n do
- can_move=turtle.forward()
- while not can_move do
- print("There is a something on my way!")
- sleep(4)
- can_move=turtle.forward()
- end
- end
- end
- end
- function moveUp(n)
- local can_move=true
- local i
- if n<0 then
- n=-n
- for i=1,n do
- can_move=turtle.down()
- while not can_move do
- print("There is a something on my way!")
- sleep(4)
- can_move=turtle.down()
- end
- end
- else
- for i=1,n do
- can_move=turtle.up()
- while not can_move do
- print("There is a something on my way!")
- sleep(4)
- can_move=turtle.up()
- end
- end
- end
- end
- function placeDown()
- local cnt=0
- local thesame=false
- if slot<17 then
- cnt=turtle.getItemCount(slot)
- end
- if cnt>1 and slot<17 then
- turtle.placeDown()
- elseif slot<16 then
- slot=slot+1
- turtle.select(slot)
- thesame=turtle.compareTo(1)
- while not thesame and slot<16 do
- slot=slot+1
- turtle.select(slot)
- thesame=turtle.compareTo(1)
- end
- if thesame then
- turtle.placeDown()
- else
- slot=17
- end
- end
- end
- function moveDigDown(n)
- local i
- for i=1,n do
- turtle.digDown()
- move(1)
- end
- end
- function movePlaceDown(n)
- local i
- for i=1,n do
- placeDown()
- move(1)
- end
- end
- function collectAll()
- moveDigDown(3)
- turtle.turnRight()
- moveDigDown(6)
- turtle.turnRight()
- moveDigDown(6)
- turtle.turnRight()
- moveDigDown(6)
- turtle.turnRight()
- moveDigDown(2)
- turtle.turnRight()
- moveDigDown(1)
- turtle.turnLeft()
- moveDigDown(3)
- turtle.turnRight()
- moveDigDown(4)
- turtle.turnRight()
- moveDigDown(4)
- turtle.turnRight()
- moveDigDown(4)
- turtle.turnRight()
- moveDigDown(1)
- turtle.turnRight()
- move(1)
- turtle.turnLeft()
- moveDigDown(2)
- turtle.turnRight()
- moveDigDown(2)
- turtle.turnRight()
- moveDigDown(2)
- turtle.turnRight()
- moveDigDown(2)
- move(2)
- turtle.turnRight()
- move(1)
- end
- function placeAll()
- movePlaceDown(3)
- turtle.turnRight()
- movePlaceDown(6)
- turtle.turnRight()
- movePlaceDown(6)
- turtle.turnRight()
- movePlaceDown(6)
- turtle.turnRight()
- movePlaceDown(2)
- turtle.turnRight()
- movePlaceDown(1)
- turtle.turnLeft()
- movePlaceDown(3)
- turtle.turnRight()
- movePlaceDown(4)
- turtle.turnRight()
- movePlaceDown(4)
- turtle.turnRight()
- movePlaceDown(4)
- turtle.turnRight()
- movePlaceDown(1)
- turtle.turnRight()
- move(1)
- turtle.turnLeft()
- movePlaceDown(2)
- turtle.turnRight()
- movePlaceDown(2)
- turtle.turnRight()
- movePlaceDown(2)
- turtle.turnRight()
- movePlaceDown(2)
- move(2)
- turtle.turnRight()
- move(1)
- slot=1
- end
- function dropSeeds()
- local i=1
- local dropcnt=0
- turtle.select(1)
- dropcnt=turtle.getItemCount(1)-1
- turtle.drop(dropcnt)
- for i=2,16 do
- turtle.select(i)
- if turtle.compareTo(1) then
- dropcnt=turtle.getItemCount(i)
- turtle.drop(dropcnt)
- end
- end
- turtle.select(1)
- end
- function dropAll()
- local i=1
- local dropcnt=0
- for i=2,16 do
- turtle.select(i)
- dropcnt=turtle.getItemCount(i)
- turtle.drop(dropcnt)
- end
- turtle.select(1)
- end
- function refuelMe()
- local i=2
- local fuelcnt=0
- for i=2,16 do
- turtle.select(i)
- fuelcnt=turtle.getItemCount(i)
- turtle.refuel(fuelcnt)
- end
- turtle.select(1)
- end
- --------------------------------
- --global variables:
- slot=1
- print(" *Label: ",os.getComputerLabel())
- print(" *'Farmer' prog. is active!")
- print(" *Fuel Level:",turtle.getFuelLevel())
- print(" *Waiting for redstone signal...")
- os.pullEvent("redstone")
- local flevel=0
- refuelMe()
- flevel=turtle.getFuelLevel()
- if turtle.getItemCount(1)<1 then
- print("I need a seed in slot 1!")
- elseif flevel<240 then
- print("Not enough fuel!")
- else
- slot=1
- turtle.select(slot)
- move(3)
- turtle.turnLeft()
- moveUp(-1)
- collectAll()
- placeAll()
- turtle.turnLeft()
- moveUp(1)
- move(3)
- turtle.turnLeft()
- dropSeeds()
- turtle.turnLeft()
- turtle.turnLeft()
- dropAll()
- turtle.turnRight()
- end
- --
- --
- ---------------
- shell.run("farmer")
- ---------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement