Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- farming = false
- pos = {0, 1, 0} -- x, y, z
- front = true
- function selectSeed()
- for i = 1, 16 do
- local data = turtle.getItemDetail(i)
- if data ~= nil then
- if data.name == "immersiveengineering:seed" then
- turtle.select(i)
- break
- end
- end
- end
- end
- function moveAndDig()
- if turtle.forward() == false then
- turtle.dig()
- turtle.forward()
- turtle.digDown()
- selectSeed()
- turtle.placeDown()
- end
- end
- function dropAll()
- for i = 1, 16 do
- local data = turtle.getItemDetail(i)
- if data ~= nil then
- turtle.select(i)
- if data.name == "immersiveengineering:seed" then
- turtle.turnLeft()
- if turtle.drop() == false then
- print("No more space in the seed chest")
- farming = false
- end
- turtle.turnRight()
- elseif data.name == "immersiveengineering:material" then
- turtle.turnRight()
- if turtle.drop() == false then
- print("No more space in the result chest")
- farming = false
- end
- turtle.turnLeft()
- else
- if turtle.dropUp() == false then
- print("No more space in the miscellaneous chest")
- farming = false
- end
- end
- end
- end
- end
- function needfuel()
- if turtle.getFuelLevel() < 100 then
- if pos[1] == 0 and pos[2] == 1 and pos[3] == 0 then
- if turtle.suckDown(16) == false then
- print("No more fuel in the fuel chest")
- farming = false
- elseif turtle.refuel() == false then
- print("Error while refueling")
- farming = false
- end
- end
- end
- end
- function farm()
- -- Drop all items
- dropAll()
- if farming == true then
- -- Look if fuel is needed
- needfuel()
- if farming == true then
- -- Just the first block
- moveAndDig()
- pos[3] = pos[3] + 1
- -- For all the farm 9 * 9 the first time
- for i = 1, 9 do
- for j = 1, 8 do
- moveAndDig()
- if front == true then
- pos[3] = pos[3] + 1
- else
- pos[3] = pos[3] - 1
- end
- end
- -- For the turn of the turtle
- if i < 9 then
- if front == true then
- turtle.turnRight()
- moveAndDig()
- turtle.turnRight()
- pos[1] = pos[1] + 1
- front = false
- else
- turtle.turnLeft()
- moveAndDig()
- turtle.turnLeft()
- pos[1] = pos[1] + 1
- front = true
- end
- end
- end
- -- Going at the start
- turtle.turnLeft()
- for i = 1, 8 do
- moveAndDig()
- pos[1] = pos[1] - 1
- end
- turtle.turnLeft()
- for i = 1, 9 do
- moveAndDig()
- pos[3] = pos[3] - 1
- end
- turtle.turnLeft()
- turtle.turnLeft()
- end
- end
- sleep(60)
- end
- function main()
- farming = true
- while farming == true do
- farm()
- end
- end
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement