--[[ More advanced fuel checking program. ]] local count = 0 local refueled = false print("My fuel level is: " .. tostring(turtle.getFuelLevel())) print("Press E to exit") print("Press L to refuel using lava") print("Press C to refuel using coal") while not refueled do local event, key = os.pullEvent("char") if key == "e" then print("Exiting script...") sleep(.5) break elseif key == "l" then if turtle.getFuelLimit() ~= "unlimited" then --Figure out how many buckets are needed count = (turtle.getFuelLimit() - turtle.getFuelLevel()) / 1000 print("I need " .. tostring(count) .. " lava buckets") else print("How many buckets would you like me to collect?") local buckets = "" while true do local event, key = os.pullEvent("char") if key == "enter" then if buckets ~= "" then break end elseif tonumber(key) then buckets = buckets .. key end end count = tonumber(buckets) end turtle.select(1) while true do print("Place a bucket in slot 1, then press any key.") local event, key = os.pullEvent("char") if turtle.getItemCount() ~= 0 then local data = turtle.getItemDetail() if data.name == "minecraft:bucket" then --Check if the item is a bucket. if data.count == 1 then break else print("Too many buckets!") end else print("Not a bucket!") end end sleep(.5) end print("Refueling...") for i = 1, 2 do for j = 1, (count/2 + 1 - math.fmod(count,2)) do --Round to the nearest whole number turtle.forward() turtle.placeDown() turtle.refuel() end turtle.turnRight() turtle.forward() turtle.placeDown() turtle.refuel() turtle.turnRight() end refueled = true elseif key == "c" then if turtle.getFuelLimit() ~= "unlimited" then local a = turtle.getFuelLimit() - turtle.getFuelLevel() print("I need " .. tostring(a / 80) .. " pieces of coal") end print("Place fuel in my inventory, then press any key.") local event, key = os.pullEvent("char") for i = 1,16 do turtle.select(i) turtle.refuel() end turtle.select(1) refueled = true else sleep(.5) end end if refueled then print("Done refueling!") if (turtle.getFuelLimit() ~= "unlimited") and (turtle.getFuelLevel() ~= turtle.getFuelLimit()) then print("My new fuel level is: " .. tostring(turtle.getFuelLevel())) else print("Fuel limit of " .. tostring(turtle.getFuelLimit()) .. " reached!") end end