Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- running = true
- distance = 1
- local function dropCobblestone()
- dropped = 0
- for i=16,3,-1 do
- turtle.select(i)
- amount = turtle.getItemCount()
- if amount > 0 then
- data = turtle.getItemDetail()
- if data.name == "minecraft:cobblestone" then
- turtle.drop()
- dropped = dropped + amount
- end
- end
- end
- if dropped > 128 then
- print("Dropped x" .. dropped .. " cobblestone.")
- end
- end
- local function alternativeFuel()
- print("No main fuel, trying alternative.")
- for i=16,3,-1 do
- turtle.select(i)
- amount = turtle.getItemCount(i)
- if amount > 0 then
- data = turtle.getItemDetail(i)
- if data.name == "minecraft:coal" then
- turtle.refuel()
- print("Found coal alternative fuel.")
- end
- end
- end
- if turtle.getFuelLevel() == 0 then
- print("No alternatives found, quitting.")
- running = false
- end
- end
- local function depositItems()
- if turtle.getFuelLevel() <= distance then
- turtle.turnLeft()
- turtle.turnLeft()
- for i=turtle.getFuelLevel(),0,-1 do
- turtle.forward()
- success, data = turtle.inspect()
- if success then
- if data.name == "minecraft:chest" then
- for o=16,3,-1 do
- turtle.select(o)
- turtle.drop()
- end
- else
- turtle.dig()
- end
- end
- end
- end
- end
- local function fuel()
- if turtle.getFuelLevel() == 0 then
- turtle.select(1)
- amount = turtle.getItemCount()
- if amount > 0 then
- if data.name == "minecraft:bucket" then
- alternativeFuel()
- else if data.name == "minecraft:lava_bucket" then
- turtle.refuel()
- print("Refuelling.")
- else
- alternativeFuel()
- end
- end
- end
- turtle.select(1)
- end
- end
- local function checkSide()
- turtle.turnLeft()
- success_left, data_left = turtle.inspect()
- if success_left then
- if data_left.name == "minecraft:gold_ore" then
- turtle.dig()
- turtle.select(2)
- turtle.dig()
- turtle.select(1)
- end
- if data_left.name == "minecraft:diamond_ore" then
- turtle.dig()
- turtle.select(2)
- turtle.dig()
- turtle.select(1)
- end
- end
- turtle.turnRight()
- turtle.turnRight()
- success_right, data_right = turtle.inspect()
- if success_right then
- if data_right.name == "minecraft:gold_ore" then
- turtle.digRight()
- turtle.select(2)
- turtle.placeRight()
- turtle.select(1)
- end
- if data_right.name == "minecraft:diamond_ore" then
- turtle.digRight()
- turtle.select(2)
- turtle.placeRight()
- turtle.select(1)
- end
- end
- turtle.turnLeft()
- end
- local function mine()
- fuel()
- -- checkSide()
- turtle.dig()
- turtle.forward()
- distance = distance + 1
- turtle.digUp()
- dropCobblestone()
- success, data = turtle.inspectDown()
- if not success then
- turtle.select(2)
- turtle.placeDown()
- turtle.select(1)
- end
- if success then
- if data.name == "minecraft:flowing_lava" then
- turtle.select(1)
- data_item = turtle.getItemDetail(1)
- if data_item.name == "minecraft:bucket" then
- turtle.place()
- data = turtle.getItemDetail()
- if data.name == "minecraft:lava_bucket" then
- print("Got more fuel!")
- if turtle.getFuelLevel() < 10000 then
- turtle.refuel()
- print(turtle.getFuelLevel())
- else
- print("Turtle is above 10,000 fuel units.")
- end
- end
- else
- print("Lava found, but bucket is full.")
- end
- end
- end
- end
- local function tick()
- depositItems()
- mine()
- end
- while running do
- tick()
- if not running then
- print("The mining script has terminated.")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement