Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tArgs = {...}
- if (not tArgs[1]) or (not tArgs[2]) or (not tArgs[3]) then
- print("Set parameters: <length> <width> <depth>")
- return
- end
- local checkArg = tArgs[1]
- local origLong = tonumber(checkArg)
- local long = tonumber(checkArg)-1
- checkArg = tArgs[2]
- local origWide = tonumber(checkArg)
- local wide = tonumber(checkArg)-1
- checkArg = tArgs[3]
- local deep = tonumber(checkArg)
- local dRem = deep
- function instructions()
- term.clear()
- term.setCursorPos(1,1)
- print("Your hole will be "..origLong.."x"..origWide.."x"..deep)
- print("Place turtle on the top right corner ABOVE the area to be cleared.")
- print("Also put an enderchest in slot 16 if you want to store the blocks.")
- io.read()
- end
- function store()
- if turtle.getItemCount(16) > 0 then
- if turtle.getItemDetail(16)["name"] == "enderstorage:ender_chest" then
- if turtle.getItemCount(15) > 0 then
- for x = 1,16 do
- turtle.select(x)
- if (turtle.getItemCount(x)) > 63 then
- turtle.select(16)
- repeat
- sleep(0.1)
- until (turtle.digUp()) == false
- turtle.digDown()
- turtle.placeUp()
- for x = 1,15 do
- turtle.select(x)
- turtle.dropUp()
- sleep(0.1)
- end
- turtle.select(16)
- turtle.digUp()
- end
- end
- end
- end
- end
- end
- function goForward()
- while (not turtle.forward()) do
- local success, data = turtle.inspect()
- if success and data["name"] == "forbidden_arcanus:stella_arcanum" then
- os.reboot()
- else
- turtle.dig()
- turtle.attack()
- sleep(0.1)
- end
- end
- end
- function dig()
- local success, data = turtle.inspectUp()
- if success and data["name"] == "forbidden_arcanus:stella_arcanum" then
- else
- repeat
- sleep(0.1)
- until not turtle.digUp()
- end
- local success, data = turtle.inspectDown()
- if success and data["name"] == "forbidden_arcanus:stella_arcanum" then
- else
- turtle.digDown()
- end
- store()
- goForward()
- end
- function row()
- for x = 1,(long) do
- dig()
- end
- turtle.digUp()
- turtle.digDown()
- end
- function layer()
- if dRem > 2 then
- for x = 1,2 do
- turtle.digDown()
- turtle.down()
- dRem = dRem-1
- end
- elseif dRem == 2 then
- turtle.digDown()
- turtle.down()
- dRem = 0
- elseif dRem == 1 then
- dRem = 0
- end
- local w = 0
- while true do
- row()
- w = w+1
- if w == (wide+1) then
- turtle.turnLeft()
- turtle.turnLeft()
- for x = 1,long do
- dig()
- end
- turtle.turnLeft()
- for x = 1,wide do
- dig()
- end
- turtle.turnLeft()
- if dRem ~= 0 then
- turtle.down()
- dRem = dRem-1
- end
- return
- else
- turtle.turnLeft()
- store()
- dig()
- turtle.turnLeft()
- end
- row()
- w = w+1
- if w == (wide+1) then
- turtle.turnLeft()
- for x = 1,wide do
- dig()
- end
- turtle.turnLeft()
- if dRem ~= 0 then
- turtle.down()
- dRem = dRem-1
- end
- return
- else
- turtle.turnRight()
- dig()
- turtle.turnRight()
- end
- end
- end
- instructions()
- if turtle.getItemCount(16) > 0 then
- enderchest = true
- else
- enderchest = false
- end
- repeat
- layer()
- until dRem == 0
- if deep ~= 1 then
- for x = 1,(deep) do
- turtle.up()
- end
- end
- store()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement