Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- arg = { ... }
- userLength=arg[1]
- userWidth=arg[2]
- userHight=arg[3]
- if arg[1]==nil or arg[2]==nil or arg[3]==nil then
- term.clear()
- term.setCursorPos(1,1)
- print("starts digging in the bottom, left, closest corner. Fuel will need to be in the first slot.")
- term.setCursorPos(1,5)
- print("dig <length> <width> <higth>")
- return
- end
- if (arg[3]%3)~=0 then
- print("plz select a height divided by 3")
- return
- end
- neededFuel = (userWidth*userLength+(userWidth-1)+(userLength-1)-1)*userHight/3+(userHight-2)*2
- divHigh = (userHight/3)-1
- function move()
- mined=1
- while mined > 0 do
- if turtle.forward() == false then
- turtle.attack()
- turtle.dig()
- mined = mined + 1
- end
- mined = mined - 1
- end
- end
- function turning()
- if boleonTurn==true then
- turtle.turnLeft()
- move()
- turtle.turnLeft()
- else
- turtle.turnRight()
- move()
- turtle.turnRight()
- end
- turtle.digUp()
- turtle.digDown()
- if boleonTurn==true then
- boleonTurn=false
- else
- boleonTurn=true
- end
- end
- function dig()
- for i=2,userLength do
- move()
- turtle.digUp()
- turtle.digDown()
- end
- end
- function backToStart()
- if 0==userWidth%2 then
- turtle.turnRight()
- for i=2,userWidth do
- move()
- end
- turtle.turnRight()
- else
- turtle.turnLeft()
- turtle.turnLeft()
- for i=2,userLength do
- move()
- end
- turtle.turnRight()
- for i=2,userWidth do
- move()
- end
- turtle.turnRight()
- end
- end
- function newLayer(thisManyUp)
- for i=1,thisManyUp do
- mined=1
- while mined > 0 do
- if turtle.up() == false then
- turtle.attackUp()
- turtle.digUp()
- mined = mined + 1
- end
- mined = mined - 1
- end
- end
- boleonTurn=false
- end
- function layer()
- for i=2,userWidth do
- dig()
- turning()
- end
- dig()
- end
- function turtleDown()
- for i=3,userHight do
- turtle.down()
- end
- return
- end
- function fuel()
- while neededFuel>=turtle.getFuelLevel() do
- turtle.select(1)
- turtle.refuel(1)
- end
- end
- fuel()
- newLayer(1)
- layer()
- while divHigh >= 1 do
- backToStart()
- newLayer(3)
- layer()
- divHigh=divHigh-1
- end
- backToStart()
- turtleDown()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement