Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --quarry square forward left
- sidelength = tonumber(arg[1])
- layersleft = tonumber(arg[2])
- totallayers = layersleft
- turnd = 0
- -- turnd => turndirection
- -- 0 for turn right
- -- 1 for turn left
- function keepup()
- while not turtle.up() do
- turtle.attackUp()
- turtle.digUp()
- checkandrefuelpurge()
- sleep(2)
- end
- end
- function keepdown()
- while not turtle.down() do
- turtle.attackDown()
- turtle.digDown()
- checkandrefuelpurge()
- sleep(2)
- end
- end
- function keepforward()
- while not turtle.forward() do
- turtle.attack()
- turtle.dig()
- checkandrefuelpurge()
- sleep(2)
- end
- end
- function trydigforward()
- if (turtle.detect()) then
- turtle.dig()
- end
- end
- function trydigdown()
- if (turtle.detectDown()) then
- turtle.digDown()
- end
- end
- function trydigmoveforward()
- trydigforward()
- keepforward()
- end
- function trydigmovedown()
- trydigdown()
- keepdown()
- end
- function turnaround()
- turtle.turnRight()
- turtle.turnRight()
- end
- function checkandrefuelpurge()
- for slot = 1, 16 do
- turtle.select(slot)
- if turtle.getFuelLevel() <= 1 then
- turtle.refuel(1)
- end
- local item = turtle.getItemDetail(slot)
- if item ~= nil then
- if item["name"] == "minecraft:cobblestone" or item["name"] == "minecraft:dirt" or item["name"] == "minecraft:stone" or item["name"] == "minecraft:netherrack" or item["name"] == "minecraft:gravel" then
- turtle.drop()
- end
- end
- end
- end
- function digsingleline()
- for i=1, sidelength-1 do
- trydigmoveforward()
- end
- checkandrefuelpurge()
- end
- function digsinglelayer()
- for i=1, sidelength-1 do
- digsingleline()
- if (turnd==0) then
- turtle.turnRight()
- trydigmoveforward()
- turtle.turnRight()
- turnd = 1
- else
- turtle.turnLeft()
- trydigmoveforward()
- turtle.turnLeft()
- turnd = 0
- end
- end
- digsingleline()
- end
- function digalllayers()
- trydigmoveforward()
- while (layersleft > 0) do
- digsinglelayer()
- layersleft = layersleft - 1
- if (layersleft > 0) then
- trydigmovedown()
- turnaround()
- end
- end
- for i=2, totallayers do
- keepup()
- end
- if (totallayers % 2 ~= 0) then
- if (sidelength % 2 == 0) then
- turtle.turnRight()
- for i=1, sidelength-1 do
- keepforward()
- end
- turtle.turnLeft()
- keepforward()
- else
- turtle.turnLeft()
- for i=1, sidelength-1 do
- keepforward()
- end
- turtle.turnLeft()
- for i=1, sidelength do
- keepforward()
- end
- end
- else
- keepforward()
- end
- turnaround()
- end
- digalllayers()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement