Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------
- -- BY UPZONE --
- ---------------
- os.loadAPI("builder\\apis\\Colors")
- UNLIMITED_FUEL = -1
- function getFuelLevel()
- level = turtle.getFuelLevel()
- if level == "unlimited" then
- return UNLIMITED_FUEL
- else
- return level
- end
- end
- function getFuelLimit()
- limit = turtle.getFuelLimit()
- if limit == "unlimited" then
- return UNLIMITED_FUEL
- else
- return limit
- end
- end
- function requestFuel(to, startX, startY)
- -- already enough fuel
- if getFuelLevel() > to then
- return
- end
- -- over limit
- if getFuelLimit() ~= UNLIMITED_FUEL and getFuelLimit() < to then
- to = getFuelLimit()
- end
- term.setCursorPos(startX, startY)
- term.write("You need to refuel your turtle.")
- term.setCursorPos(startX, startY + 1)
- term.write("Place any fuel source into")
- term.setCursorPos(startX, startY + 2)
- term.write("the inventory to refuel ...")
- -- for string formatting
- toFuelStringSize = string.len(tostring(to))
- while getFuelLevel() < to do
- term.setCursorPos(startX, startY + 4)
- text = string.format("Fuel: [%0" .. toFuelStringSize .. "d/" .. to .. "]", getFuelLevel())
- term.blit(text, string.rep(Colors.red, string.len(text)), string.rep(Colors.black, string.len(text)))
- for i = 1, 16 do
- if turtle.getItemCount(i) > 0 then
- turtle.select(i)
- if turtle.refuel(0) then
- turtle.refuel()
- break
- end
- end
- end
- end
- term.setCursorPos(startX, startY + 4)
- text = string.format("Fuel: [%0" .. toFuelStringSize .. "d/" .. to .. "]", getFuelLevel())
- term.blit(text, string.rep(Colors.lime, string.len(text)), string.rep(Colors.black, string.len(text)))
- print("")
- end
Advertisement
Add Comment
Please, Sign In to add comment