Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- x = 0
- y = 0
- z = 0
- --**************************REFUEL************************--
- function fuelUp()
- if turtle.getFuelLevel() < 100 then
- turtle.select(16)
- turtle.refuel(1)
- end
- end
- function transferFuel()
- turtle.select(16)
- item = turtle.getItemDetail()
- if item and item.name ~= "minecraft:planks" then --here too
- for i = 1, 15, 1 do
- turtle.transferTo(i)
- end
- for i = 1, 16, 1 do
- turtle.select(i)
- item = turtle.getItemDetail()
- if item.name == "minecraft:planks" then --possibly insert variable here
- turtle.transferTo(16)
- end
- end
- end
- end
- --*********************TREE BREAKING**********************--
- function initialtree()
- turtle.dig()
- turtle.forward()
- u1, u2 = turtle.inspectUp()
- while u2.name == "minecraft:log" do
- turtle.digUp()
- turtle.up()
- u1, u2 = turtle.inspectUp()
- y = y + 1
- end
- for i = y, 0, -1 do
- turtle.down()
- end
- turtle.back()
- turtle.select(16)
- turtle.craft()
- turtle.refuel()
- y = 0
- end
- function breaktree()
- turtle.dig()
- turtle.forward()
- u1, u2 = turtle.inspectUp()
- while u2.name == "minecraft:log" do
- turtle.digUp()
- turtle.up()
- u1, u2 = turtle.inspectUp()
- y = y + 1
- end
- for i = y, 0, -1 do
- turtle.down()
- end
- y = 0
- d1, d2 = turtle.inspectDown()
- while d2.name == "minecraft:log" do
- turtle.digDown()
- turtle.down()
- y = y - 1
- end
- for i = y, 0, 1 do
- turtle.up()
- end
- turtle.back()
- y = 0
- end
- function breaktreenoback()
- turtle.dig()
- turtle.forward()
- u1, u2 = turtle.inspectUp()
- while u2.name == "minecraft:log" do
- turtle.digUp()
- turtle.up()
- u1, u2 = turtle.inspectUp()
- y = y + 1
- end
- for i = y, 0, -1 do
- turtle.down()
- end
- y = 0
- end
- function checkDown()
- d1, d2 = turtle.inspectDown()
- while d1 == false do
- turtle.down()
- d1, d2 = turtle.inspectDown()
- end
- end
- function checkUp()
- f1, f2 = turtle.inspect()
- u1, u2 = turtle.inspectUp()
- while f1 == true do
- if f2.name ~= "minecraft:log" then
- if u1 == true then
- turtle.digUp()
- end
- turtle.up()
- f1, f2 = turtle.inspect()
- u1, u2 = turtle.inspectUp()
- else
- breaktreenoback()
- end
- end
- end
- function checkAround()
- if f2.name == "minecraft:log" then
- breaktree()
- end
- turtle.turnLeft()
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:log" then
- breaktree()
- end
- shell.run("go right 2")
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:log" then
- breaktree()
- end
- turtle.turnLeft()
- end
- function inspectsurface()
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:leaves" then
- turtle.dig()
- end
- d1, d2 = turtle.inspectDown()
- if d2.name == "minecraft:leaves" then
- turtle.digDown()
- end
- u1, u2 = turtle.inspectUp()
- if u2.name == "minecraft:leaves" then
- turtle.digUp()
- end
- checkDown()
- checkAround()
- checkUp()
- end
- function spiral()
- spiralnum = 0
- for i = 1, 9, 1 do
- for i = 0, spiralnum, 1 do
- inspectsurface()
- turtle.forward()
- end
- checkAround()
- turtle.turnLeft()
- spiralnum = spiralnum + 1
- fuelUp()
- end
- end
- --******************************MINING*******************************--
- function minecobble()
- cobble = 0
- y = 0
- while cobble < 15 do
- d1, d2 = turtle.inspectDown()
- if d2.name == "minecraft:stone" then
- cobble = cobble + 1
- end
- turtle.digDown()
- turtle.down()
- y = y - 1
- end
- for i = y, 0, 1 do
- turtle.up()
- end
- y = 0
- end
- function getheight()
- y = 0
- repeat
- d1, d2 = turtle.inspectDown()
- turtle.digDown()
- turtle.down()
- y = y - 1
- until d2.name == "minecraft:bedrock"
- yworld = 3
- for i = yworld, 10, 1 do
- turtle.up()
- yworld = yworld + 1
- end
- end
- 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
- udx = 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
- shell.run("go right 2")
- end
- function inspectOre()
- f1, f2 = turtle.inspect()
- u1, u2 = turtle.inspectUp()
- d1, d2 = turtle.inspectDown()
- if u2.name == "minecraft:iron_ore" then
- breakore()
- end
- if d2.name == "minecraft:iron_ore" then
- breakore()
- end
- if f2.name == "minecraft:iron_ore" then
- breakore()
- end
- turtle.turnLeft()
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:iron_ore" then
- breakore()
- end
- shell.run("go right 2")
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:iron_ore" then
- breakore()
- end
- turtle.turnLeft()
- end
- function checkAroundOre()
- if f2.name == "minecraft:iron_ore" then
- breakore()
- end
- turtle.turnLeft()
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:iron_ore" or "minecraft:redstone_ore" or "minecraft:diamond_ore" then
- breakore()
- end
- shell.run("go right 2")
- f1, f2 = turtle.inspect()
- if f2.name == "minecraft:iron_ore" then
- breakore()
- end
- turtle.turnLeft()
- end
- function spiralOre()
- spiralnum = 0
- for i = 1, 9, 1 do
- for i = 0, spiralnum, 1 do
- inspectOre()
- turtle.forward()
- end
- checkAroundOre()
- turtle.turnLeft()
- spiralnum = spiralnum + 1
- fuelUp()
- end
- end
- --*************************CRAFTING RECIPES***************************--
- function craftplanks()
- slot = 1
- for i = 1, 16, 1 do
- turtle.select(i)
- item = turtle.getItemDetail()
- if item then
- if item.name ~= "minecraft:log" then
- turtle.dropUp()
- else
- turtle.transferTo(slot)
- slot = slot + 1
- end
- end
- end
- for i = 2, 16, 1 do
- turtle.select(i)
- turtle.drop()
- end
- turtle.craft()
- end
- function craftchest()
- for i = 1, 16, 1 do
- turtle.select(i)
- item = turtle.getItemDetail()
- if item then
- if item.name ~= "minecraft:planks" then
- turtle.drop()
- else
- turtle.transferTo(1)
- end
- end
- end
- turtle.select(1)
- item = turtle.getItemDetail()
- if item.count > 7 then
- turtle.select(1)
- turtle.transferTo(1, 1)
- turtle.transferTo(2, 1)
- turtle.transferTo(3, 1)
- turtle.transferTo(5, 1)
- turtle.transferTo(7, 1)
- turtle.transferTo(9, 1)
- turtle.transferTo(10, 1)
- turtle.transferTo(11, 1)
- turtle.select(16)
- turtle.craft(1)
- turtle.suck()
- turtle.digUp()
- turtle.placeUp()
- end
- end
- function craftfurnace()
- for i = 1, 16, 1 do
- turtle.select(i)
- item = turtle.getItemDetail()
- if item then
- if item.name ~= "minecraft:cobblestone" then
- turtle.dropUp()
- else
- turtle.transferTo(1)
- end
- end
- end
- turtle.select(1)
- item = turtle.getItemDetail()
- if item.count > 7 then
- turtle.select(1)
- turtle.transferTo(1, 1)
- turtle.transferTo(2, 1)
- turtle.transferTo(3, 1)
- turtle.transferTo(5, 1)
- turtle.transferTo(7, 1)
- turtle.transferTo(9, 1)
- turtle.transferTo(10, 1)
- turtle.transferTo(11, 1)
- turtle.select(16)
- turtle.craft(1)
- turtle.dig()
- turtle.forward()
- turtle.dig()
- turtle.place()
- turtle.back()
- end
- end
- --*****************************PROGRAM******************************--
- initialtree()
- spiral()
- craftplanks()
- craftchest()
- minecobble()
- craftfurnace()
- getheight()
- spiralOre()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement