Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tArgs = {...}
- if #tArgs == 3 then
- local x = tonumber(tArgs[1])
- local y = tonumber(tArgs[2])
- local z = tonumber(tArgs[3])
- local looper = 2
- local fuel = math.ceil((y*x+2*z)/80)
- local rift = false
- function enderplace()
- while not turtle.place() do
- turtle.dig()
- end
- end
- function infFuel()
- turtle.select(16)
- enderplace()
- turtle.select(1)
- turtle.suck(64)
- turtle.refuel()
- turtle.select(16)
- turtle.dig()
- turtle.select(1)
- end
- function feedme()
- turtle.select(16)
- enderplace()
- turtle.select(1)
- turtle.suck()
- turtle.refuel(fuel)
- turtle.select(16)
- turtle.dig()
- turtle.select(1)
- end
- function empty()
- for i = 1 , 14 do
- turtle.select(i)
- turtle.drop()
- end
- end
- function tunnel()
- for i = 1 , x-1 do
- turtle.dig()
- while not turtle.forward() do
- turtle.dig()
- end
- end
- end
- function turn()
- turtle.digUp()
- turtle.turnLeft()
- turtle.turnLeft()
- while not turtle.up() do
- turtle.digUp()
- end
- end
- function turnDown()
- turtle.digDown()
- turtle.down()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- function transition()
- turtle.turnRight()
- while not turtle.forward() do
- turtle.dig()
- end
- turtle.turnRight()
- end
- function odd()
- turtle.turnLeft()
- while not turtle.forward() do
- turtle.dig()
- end
- turtle.turnLeft()
- end
- function even()
- turtle.turnRight()
- while not turtle.forward() do
- turtle.dig()
- end
- turtle.turnRight()
- end
- function infinite()
- print("infinite distance selected")
- turtle.turnRight()
- while looper == 2 do
- infFuel()
- for i = 1 , 52 do
- for t = 1 , y-1 do
- if math.fmod(i,2) == 0 then
- tunnel()
- turnDown()
- else
- tunnel()
- turn()
- end
- end
- tunnel()
- if rift == false then
- if math.fmod(y,2) == 0 then
- even()
- else
- odd()
- end
- rift = true
- else
- rift = false
- transition()
- turtle.dig()
- turtle.select(15)
- enderplace()
- empty()
- turtle.select(15)
- turtle.dig()
- turtle.select(1)
- end
- end
- end
- end
- function limit()
- print("limited distance selected")
- turtle.turnRight()
- feedme()
- for i = 1 , z do
- for t = 1 , y-1 do
- if math.fmod(i,2) == 0 then
- tunnel()
- turnDown()
- else
- tunnel()
- turn()
- end
- end
- tunnel()
- if rift == false then
- if math.fmod(y,2) == 0 then
- even()
- else
- odd()
- end
- rift = true
- else
- rift = false
- transition()
- turtle.dig()
- turtle.select(15)
- enderplace()
- empty()
- turtle.select(15)
- turtle.dig()
- turtle.select(1)
- end
- end
- end
- -- main program starts here
- if z==0 then
- infinite()
- else
- limit()
- end
- else
- print("please insert a width height and distance after the command")
- print("distance of 0 gives infinite distance")
- print("place an enderchest with charcoal in it in slot 16")
- print("place an enderchest to your sorting system in slot 15")
- end
Advertisement
Add Comment
Please, Sign In to add comment