--[[
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
Comments