Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local blacklist = {"minecraft:flowing_lava","minecraft:flowing_water","minecraft:lava","minecraft:water","chisel:marble","minecraft:stone","minecraft:cobblestone","minecraft:dirt","minecraft:gravel"}
- function check(thing)
- if thing ~= nil then
- for i, v in pairs(blacklist) do
- if thing.name == v then
- return false
- end
- end
- return true
- end
- end
- function turtleRefillThing()
- if turtle.getFuelLevel() ~= "unlimited" then
- if turtle.getFuelLevel() < (turtle.getFuelLimit() / 5) then
- local nums = {}
- for p = 1, 16 do
- local o = turtle.getItemDetail(p)
- if o ~= nil then
- if o.name == "minecraft:coal" or o.name == "minecraft:planks" or o.name "minecraft:fence" then
- table.insert(nums,p)
- end
- end
- end
- for o, p in pairs(nums) do
- turtle.select(p)
- local itemName = (turtle.getItemDetail(p))
- if itemName == nil then
- itemName = {}
- itemName["name"] = "EMPTY"
- end
- if check(itemName) == false then
- turtle.select(p)
- turtle.drop()
- turtle.dropDown()
- turtle.dropUp()
- end
- while turtle.getFuelLevel() < turtle.getFuelLimit() / 5 and turtle.getItemCount(turtle.getSelectedSlot()) > 0 and turtle.getItemDetail(turtle.getSelectedSlot()) ~= nil do
- turtle.refuel()
- end
- if turtle.getFuelLevel() >= turtle.getFuelLimit() / 5 then
- break
- end
- end
- else
- turtle.refuel()
- end
- end
- end
- function mineOre()
- local work, inspect = turtle.inspect()
- if work then
- if check(inspect) then
- turtle.dig()
- turtle.forward()
- turtle.turnLeft()
- for i = 1, 3 do
- local wo, ex = turtle.inspect()
- local wo2, ex2 = turtle.inspectDown()
- local wo3, ex3 = turtle.inspectUp()
- if wo and check(ex) then
- mineOre()
- end
- if wo2 and check(ex2) then
- turtle.digDown()
- turtle.down()
- mineOre()
- turtle.up()
- end
- if wo3 and check(ex3) then
- turtle.digUp()
- turtle.up()
- mineOre()
- turtle.down()
- end
- if i < 3 then
- turtle.turnRight()
- end
- end
- turtle.turnLeft()
- turtle.back()
- end
- end
- end
- turtleRefillThing()
- turtle.select(1)
- n = 0
- built = false
- done = false
- while done == false do
- turtle.digDown()
- if (n == 0) then
- turtleRefillThing()
- turtle.down()
- if (turtle.detectDown()) then
- turtle.digDown()
- end
- n = n + 1
- end
- for i = 1,4 do
- local work, inspect = turtle.inspect()
- if i < 3 then
- mineOre()
- end
- turtle.turnRight()
- end
- if turtle.detectDown() then
- for i = 1,n + 1 do
- turtleRefillThing()
- repeat
- if turtle.detectUp() then
- turtle.digUp()
- end
- until turtle.up()
- end
- turtle.select(1)
- turtle.placeDown()
- done = true
- else
- n = n + 1
- turtleRefillThing()
- turtle.down()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment