Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function breakorecheck()
- f1, f2 = turtle.inspect()
- u1, u2 = turtle.inspectUp()
- d1, d2 = turtle.inspectDown()
- --other blocks to do
- if u2.name == "minecraft:iron_ore" then
- up = 1
- end
- if d2.name == "minecraft:iron_ore" then
- down = 1
- end
- --other layers to do
- if f2.name == "minecraft:iron_ore" then
- forward = 1
- end
- --other columns to do
- turtle.turnLeft()
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:iron_ore" then
- left = 1
- end
- shell.run("go right 2")
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:iron_ore" then
- right = 1
- end
- turtle.turnLeft()
- end
- function resetvarsore()
- up = 0
- down = 0
- forward = 0
- left = 0
- right = 0
- end
- function oreupdown()
- breakorecheck()
- while up == 1 do
- turtle.digUp()
- turtle.up()
- ud = ud + 1
- breakorecheck()
- u1, u2 = turtle.inspectUp()
- if u2.name ~= "minecraft:iron_ore" then
- up = 0
- end
- end
- while ud ~= 0 do
- turtle.digDown()
- turtle.down()
- ud = ud - 1
- end
- breakorecheck()
- while down == 1 do
- turtle.digDown()
- turtle.down()
- ud = ud - 1
- breakorecheck()
- d1, d2 = turtle.inspectDown()
- if d2.name ~= "minecraft:iron_ore" then
- down = 0
- end
- end
- while ud ~= 0 do
- turtle.digUp()
- turtle.up()
- ud = ud + 1
- end
- end
- --left is positive lr
- function oreleft()
- turtle.turnLeft()
- f1, f2 = turtle.inspect()
- while f2.name ~= "minecraft:iron_ore" and u1 == false do
- turtle.up()
- u1, u2 = turtle.inspectUp()
- f1, f2 = turtle.inspect()
- ud = ud + 1
- end
- while f2.name ~= "minecraft:iron_ore" and d1 == false do
- turtle.down()
- d1, d2 = turtle.inspectDown()
- f1, f2 = turtle.inspect()
- ud = ud - 1
- end
- turtle.dig()
- turtle.forward()
- left = 0
- turtle.turnRight()
- oreupdown()
- lr = lr + 1
- end
- --right is negative lr
- function oreright()
- turtle.turnRight()
- f1, f2 = turtle.inspect()
- while f2.name ~= "minecraft:iron_ore" and u1 == false do
- turtle.up()
- u1, u2 = turtle.inspectUp()
- f1, f2 = turtle.inspect()
- ud = ud + 1
- end
- while f2.name ~= "minecraft:iron_ore" and d1 == false do
- turtle.down()
- d1, d2 = turtle.inspectDown()
- f1, f2 = turtle.inspect()
- ud = ud - 1
- end
- turtle.dig()
- turtle.forward()
- right = 0
- turtle.turnLeft()
- oreupdown()
- lr = lr - 1
- end
- function oreward()
- turtle.dig()
- turtle.forward()
- breakorecheck()
- f = f + 1
- end
- function breakore()
- f1, f2 = turtle.inspect()
- d1, d2 = turtle.inspectDown()
- u1, u2 = turtle.inspectUp()
- f = 0
- lr = 0
- ud = 0
- orientation = 0
- up = 0
- down = 0
- left = 0
- right = 0
- forward = 0
- oreremaining = 1
- inv = 0
- if f2.name == "minecraft:iron_ore" then
- turtle.dig()
- turtle.forward()
- f = f + 1
- elseif d2.name == "minecraft:iron_ore" then
- turtle.digDown()
- turtle.down()
- udx = udx - 1
- elseif u2.name == "minecraft:iron_ore" then
- turtle.digUp()
- turtle.up()
- udx = udx + 1
- end
- repeat
- breakorecheck()
- if up == 1 or down == 1 then
- oreupdown()
- end
- repeat
- oreleft()
- until left == 0
- turtle.turnRight()
- while lr ~= 0 do
- turtle.forward()
- lr = lr - 1
- end
- turtle.turnLeft()
- repeat
- oreright()
- until right == 0
- turtle.turnLeft()
- while lr ~= 0 do
- turtle.forward()
- lr = lr + 1
- end
- turtle.turnRight()
- resetvarsore()
- oreward()
- if up + down + left + right + forward == 0 then
- oreremaining = 0
- end
- until oreremaining == 0
- if lr > 0 then
- turtle.turnRight()
- inv = 1
- elseif lr < 0 then
- turtle.turnLeft()
- inv = -1
- elseif lr == 0 then
- shell.run("go right 2")
- end
- if inv ~= 0 then
- for i = lr, 0, inv do
- turtle.dig()
- turtle.forward()
- end
- end
- if inv == 1 then
- turtle.turnRight()
- elseif inv == -1 then
- turtle.turnLeft()
- end
- while f ~= 0 do
- turtle.dig()
- turtle.forward()
- f = f - 1
- end
- if udx > 0 then
- turtle.digDown()
- turtle.down()
- udx = 0
- elseif udx < 0 then
- turtle.digUp()
- turtle.up()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement