function WriteFile()
file = fs.open("Pos","w")
file.writeLine(CurX)
file.writeLine(CurZ)
file.writeLine(CurD)
file.close()
end
function forward()
if CurD == 0 then
CurX = CurX + 1
elseif CurD == 1 then
CurZ = CurZ + 1
elseif CurD == 2 then
CurX = CurX - 1
elseif CurD == 3 then
CurZ = CurZ - 1
end
turtle.forward()
WriteFile()
end
function back()
if CurD == 0 then
CurX = CurX - 1
elseif CurD == 1 then
CurZ = CurZ - 1
elseif CurD == 2 then
CurX = CurX + 1
elseif CurD == 3 then
CurZ = CurZ + 1
end
turtle.back()
WriteFile()
end
function turnLeft()
CurD = CurD - 1
if CurD < 0 then CurD = 3 end
turtle.turnLeft()
WriteFile()
end
function turnRight()
CurD = CurD + 1
if CurD > 3 then CurD = 0 end
turtle.turnRight()
WriteFile()
end
function placeAndRemove()
turtle.select(15)
_,block = turtle.inspectDown()
if block.name == "botania:livingrock" or block.name == "botania:livingwood" then
turtle.digDown()
end
if turtle.getItemCount(1) > 0 then
turtle.select(1)
turtle.placeDown()
else
turtle.select(2)
turtle.placeDown()
end
end
CurX = 0
CurZ = 0
CurD = 0
if fs.exists("Pos") then
file = fs.open("Pos","r")
CurX = tonumber(file.readLine())
CurZ = tonumber(file.readLine())
CurD = tonumber(file.readLine())
file.close()
else
file = fs.open("Pos","w")
file.writeLine(0)
file.writeLine(0)
file.writeLine(0)
file.close()
end
while CurD ~= 0 do turnRight() end
while CurX ~= 0 do
if CurX > 0 then
back()
elseif CurX < 0 then
forward()
end
end
turnRight()
while CurZ ~= 0 do
if CurZ > 0 then
back()
elseif CurZ < 0 then
forward()
end
end
turnLeft()
turnRight()
forward()
for i = 15,16 do
if turtle.getItemCount(i) > 0 then
turtle.select(i)
turtle.dropDown()
end
end
back()
turnLeft()
for i = 1,14 do
if turtle.getItemCount(i) > 0 then
turtle.select(i)
turtle.dropDown()
end
end
while true do
while turtle.getFuelLevel() < 15 do
term.clear()
term.setCursorPos(1,1)
textutils.slowWrite("Please input more Fuel...")
sleep(5)
turtle.refuel()
end
term.clear()
turtle.select(1)
while not turtle.suckDown(8) do
term.clear()
term.setCursorPos(1,1)
textutils.slowWrite("Not enough items to Place...")
sleep(5)
end
term.clear()
while (turtle.getItemCount(1) + turtle.getItemCount(2) < 8) do
term.clear()
term.setCursorPos(1,1)
textutils.slowWrite("Not enough items to Place...")
turtle.suckDown(8 - turtle.getItemCount(1))
sleep(5)
end
forward()
_,block = turtle.inspectDown()
if block.name ~= "botania:livingrock" and block.name ~= "botania:livingwood" then
back()
else
for p = 1,4 do
for i = 1,2 do
placeAndRemove()
forward()
end
turnRight()
placeAndRemove()
end
back()
end
turnRight()
forward()
for i = 1,16 do
if turtle.getItemCount(i) > 0 then
turtle.select(i)
turtle.dropDown()
end
end
back()
turnLeft()
sleep(60)
end
Comments