Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- radius = 5
- elevation = 61 --current Y
- skipTo = 46 --skip to Y
- digTo = 5 --dig to Y
- trashSlots = 2 --Number of trash slots
- depth = elevation - digTo
- skip = elevation - skipTo
- diameter = (radius + radius)
- turtle.select(1)
- --Refuel if needed
- neededFuelSetup = radius + radius
- print("Fuel needed to get in position: "..neededFuelSetup)
- neededFuelLayer = (diameter+1) * (diameter+1)
- print("Fuel needed to mine a layer: "..neededFuelLayer)
- neededFuel = neededFuelSetup + (neededFuelLayer*depth)
- print("Needed Fuel: "..neededFuel)
- print("Current Fuel Level: "..turtle.getFuelLevel())
- if neededFuel > turtle.getFuelLevel()
- then
- print("Refueling...")
- for i = 1,16
- do
- turtle.select(i)
- turtle.refuel()
- end
- turtle.select(1)
- if neededFuel > turtle.getFuelLevel()
- then
- print("Not Enough Fuel")
- error()
- end
- end
- --Get into position
- for i = 1,skip
- do
- turtle.digDown()
- turtle.down()
- end
- if (number % 2 == 0)
- then
- else
- turtle.turnLeft()
- turtle.turnLeft()
- end
- for i = 1,radius
- do
- turtle.dig()
- turtle.forward()
- end
- turtle.turnRight()
- for i = 1,radius
- do
- turtle.dig()
- turtle.forward()
- end
- turtle.turnLeft()
- turtle.turnLeft()
- print("In Position")
- --Mine
- for i = 1,depth
- do
- currentDepth = i-1
- if i < skip
- then
- break
- end
- layer = i
- print("Mining Layer "..layer.."/"..depth)
- --Mine a layer
- for i = 1,diameter + 1
- do
- currentRow = i
- for i = 1,diameter
- do
- turtle.digDown()
- turtle.dig()
- turtle.forward()
- end
- if i == (diameter + 1)
- then
- else
- if (currentRow % 2 == 0)
- then
- turtle.turnRight()
- turtle.digDown()
- turtle.dig()
- turtle.forward()
- turtle.turnRight()
- else
- turtle.turnLeft()
- turtle.digDown()
- turtle.dig()
- turtle.forward()
- turtle.turnLeft()
- end
- if trashSlots > 0
- then
- for i = 1,trashSlots
- do
- turtle.select(i)
- turtle.drop(turtle.getItemCount()-1)
- end
- turtle.select(1)
- end
- end
- end
- turtle.turnLeft()
- turtle.turnLeft()
- --Check if the inventory is almost full
- inventoryFull = false
- for i = trashSlots,16
- do
- turtle.select(i)
- items = turtle.getItemCount()
- space = turtle.getItemSpace()
- if items > space*2
- then
- inventoryFull = true
- end
- end
- if turtle.getItemCount() > 0
- then
- inventoryFull = true
- end
- turtle.select(1)
- if inventoryFull == true
- then
- for i = 1,radius
- do
- turtle.dig()
- turtle.forward()
- end
- turtle.turnLeft()
- for i = 1,radius
- do
- turtle.dig()
- turtle.forward()
- end
- for i = 1,currentDepth
- do
- turtle.digUp()
- turtle.up()
- end
- for i = trashSlots+1,16
- do
- turtle.select(i)
- turtle.dropUp()
- end
- turtle.select(1)
- turtle.turnLeft()
- turtle.turnLeft()
- for i = 1,currentDepth
- do
- turtle.digDown()
- turtle.down()
- end
- for i = 1,radius
- do
- turtle.dig()
- turtle.forward()
- end
- turtle.turnRight()
- for i = 1,radius
- do
- turtle.dig()
- turtle.forward()
- end
- turtle.turnLeft()
- turtle.turnLeft()
- end
- turtle.digDown()
- turtle.down()
- end
- --return
- for i = 1,radius
- do
- turtle.forward()
- end
- turtle.turnLeft()
- for i = 1,radius
- do
- turtle.dig()
- turtle.forward()
- end
- for i = 1,depth
- do
- turtle.digUp()
- turtle.up()
- end
- for i = trashSlots+1,16
- do
- turtle.select(i)
- turtle.dropUp()
- end
- turtle.select(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement