Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local fuelLevelToRefuelAt = 5
- local refuelItemsToUseWhenRefuelling = 63
- local emergencyFuelToRetain = 0
- local function forward(x)
- for i = 1, x do
- turtle.forward()
- end
- end
- local function back(x)
- for i = 1, x do
- turtle.back()
- end
- end
- local function up(x)
- for i = 1, x do
- turtle.up()
- end
- end
- local function down(x)
- for i = 1, x do
- turtle.down()
- end
- end
- function empty()
- if turtle.detectDown() == true then
- turtle.select(1)
- turtle.dropUp()
- turtle.select(2)
- turtle.dropUp()
- turtle.select(3)
- turtle.dropUp()
- turtle.select(4)
- turtle.dropUp()
- turtle.select(5)
- turtle.dropUp()
- turtle.select(6)
- turtle.dropUp()
- turtle.select(7)
- turtle.dropUp()
- turtle.select(8)
- turtle.dropUp()
- turtle.select(9)
- turtle.dropUp()
- turtle.select(1)
- end
- end
- function ensureFuel()
- -- Determine whether a refuel is required
- local fuelLevel = turtle.getFuelLevel()
- if (fuelLevel ~= "unlimited") then
- if (fuelLevel < fuelLevelToRefuelAt) then
- -- Need to refuel
- turtle.select(16)
- currentlySelectedSlot = 16
- local fuelItems = turtle.getItemCount(16)
- -- Do we need to impact the emergency fuel to continue? (always
- -- keep one fuel item in slot 16)
- if (fuelItems == 0) then
- writeMessage("Completely out of fuel!", messageLevel.FATAL)
- elseif (fuelItems == 1) then
- writeMessage("Out of Fuel!", messageLevel.ERROR)
- turtle.refuel()
- elseif (fuelItems <= (emergencyFuelToRetain + 1)) then
- writeMessage("Consuming emergency fuel supply. "..(fuelItems - 2).." emergency fuel items remain", messageLevel.WARNING)
- turtle.refuel(1)
- else
- -- Refuel the lesser of the refuelItemsToUseWhenRefuelling and the number of items more than
- -- the emergency fuel level
- if (fuelItems - (emergencyFuelToRetain + 1) < refuelItemsToUseWhenRefuelling) then
- turtle.refuel(fuelItems - (emergencyFuelToRetain + 1))
- else
- turtle.refuel(refuelItemsToUseWhenRefuelling)
- end
- end
- end
- end
- end
- --Begin Route
- ensureFuel()
- back(2)
- turtle.turnRight()
- forward(4)
- turtle.turnLeft()
- forward(3)
- turtle.turnRight()
- forward(2)
- turtle.turnRight()
- down(4)
- turtle.dig()
- turtle.turnLeft()
- forward(4)
- turtle.turnRight()
- forward(1)
- turtle.turnRight()
- up(1)
- turtle.dig()
- turtle.turnLeft()
- forward(3)
- turtle.turnLeft()
- forward(1)
- down(1)
- turtle.dig()
- turtle.turnRight()
- forward(1)
- turtle.turnLeft()
- forward(2)
- turtle.turnRight()
- forward(2)
- turtle.turnRight()
- turtle.dig()
- up(4)
- turtle.turnRight()
- forward(6)
- turtle.turnLeft()
- turtle.dig()
- turtle.turnLeft()
- forward(1)
- turtle.turnRight()
- forward(1)
- turtle.turnLeft()
- forward(1)
- up(1)
- turtle.dig()
- down(1)
- turtle.turnRight()
- forward(3)
- turtle.turnLeft()
- turtle.dig()
- turtle.turnRight()
- forward(3)
- turtle.turnLeft()
- turtle.dig()
- turtle.turnLeft()
- forward(1)
- turtle.turnRight()
- forward(3)
- turtle.turnLeft()
- forward(2)
- turtle.turnRight()
- down(1)
- turtle.dig()
- up(2)
- turtle.dig()
- down(1)
- turtle.turnRight()
- forward(5)
- turtle.turnRight()
- forward(3)
- turtle.turnLeft()
- forward(4)
- turtle.turnRight()
- forward(2)
- empty()
- os.sleep(900)
- os.reboot()
Advertisement
Add Comment
Please, Sign In to add comment