Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local arg1, arg2 = ...
- limX = arg1
- limZ = arg2
- area = limX * limZ
- relX = 0
- relZ = 0
- facing = 0
- function plant()
- if turtle.detectDown()
- then
- return false
- end
- turtle.down()
- seeds = selectSeeds()
- if not seeds
- then
- return false
- end
- turtle.placeDown()
- return true
- function selectSeeds()
- for i = 0, 15, 1
- do
- turtle.select(i)
- name = turtle.getItemDetail().name
- if name == "minecraft:seeds"
- then
- return true
- end
- end
- return false
- function harvest()
- if turtle.detectDown()
- then
- local success, data = turtle.inspectDown()
- if data.name == "minecraft:wheat"
- then
- if data.metadata == 7
- then
- turtle.digDown()
- end
- end
- end
- function turnTo(dir)
- if facing > dir
- then
- turtle.turnRight()
- dir -= 1
- turnTo(dir)
- end
- if facing < dir
- then
- turtle.turnLeft()
- dir += 1
- turnTo(dir)
- end
- if facing == dir
- then
- return
- end
- function goUp()
- turnTo(0)
- turtle.moveForward()
- relZ = relZ + 1
- function goDown()
- turnTo(2)
- turtle.moveForward()
- relZ = relZ - 1
- function goLeft()
- turnTo(1)
- turtle.moveForward()
- relX = relX - 1
- function goRight()
- turnTo(3)
- turtle.moveForward()
- relX = relX + 1
- function walkField()
- while relZ <= limZ
- do
- goUp()
- while relX <= limX
- do
- goRight()
- harvest()
- plant()
- end
- goUp()
- while relX > 1
- do
- goLeft()
- harvest()
- plant()
- end
- end
- function returnToOrigin()
- while relX > 0
- do
- goLeft()
- end
- while relY > 0
- goDown()
- end
- function depositItems()
- for i = 0, 15, 1
- do
- turtle.drop()
- end
- function grabSeeds()
- turtle.suckDown(area)
- function execute()
- walkField()
- returnToOrigin()
- depositItems()
- grabSeeds()
- turnTo(0)
- function main()
- while (true)
- do
- if redstone.getInput("left")
- then
- execute()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement