TheKojent

checkFuel V2

Dec 29th, 2014
357
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.52 KB | None | 0 0
  1. --[[
  2. More advanced fuel checking program.
  3. ]]
  4.  
  5. local count = 0
  6. local refueled = false
  7.  
  8. print("My fuel level is: " .. tostring(turtle.getFuelLevel()))
  9. print("Press E to exit")
  10. print("Press L to refuel using lava")
  11. print("Press C to refuel using coal")
  12.  
  13. while not refueled do
  14.     local event, key = os.pullEvent("char")
  15.    
  16.     if key == "e" then
  17.         print("Exiting script...")
  18.         sleep(.5)
  19.         break
  20.     elseif key == "l" then
  21.         if turtle.getFuelLimit() ~= "unlimited" then    --Figure out how many buckets are needed
  22.             count = (turtle.getFuelLimit() - turtle.getFuelLevel()) / 1000
  23.             print("I need " .. tostring(count) .. " lava buckets")
  24.         else
  25.             print("How many buckets would you like me to collect?")
  26.             local buckets = ""
  27.             while true do
  28.                 local event, key = os.pullEvent("char")
  29.                 if key == "enter" then
  30.                     if buckets ~= "" then
  31.                         break
  32.                     end
  33.                 elseif tonumber(key) then
  34.                     buckets = buckets .. key
  35.                 end
  36.             end
  37.             count = tonumber(buckets)
  38.         end
  39.        
  40.         turtle.select(1)
  41.         while true do
  42.             print("Place a bucket in slot 1, then press any key.")
  43.             local event, key = os.pullEvent("char")
  44.             if turtle.getItemCount() ~= 0 then
  45.                 local data = turtle.getItemDetail()
  46.                 if data.name == "minecraft:bucket" then    --Check if the item is a bucket.
  47.                     if data.count == 1 then
  48.                         break
  49.                     else
  50.                         print("Too many buckets!")
  51.                     end
  52.                 else
  53.                     print("Not a bucket!")
  54.                 end
  55.             end
  56.             sleep(.5)
  57.         end
  58.         print("Refueling...")
  59.         for i = 1, 2 do
  60.             for j = 1, (count/2 + 1 - math.fmod(count,2)) do    --Round to the nearest whole number
  61.                 turtle.forward()
  62.                 turtle.placeDown()
  63.                 turtle.refuel()
  64.             end
  65.             turtle.turnRight()
  66.             turtle.forward()
  67.             turtle.placeDown()
  68.             turtle.refuel()
  69.             turtle.turnRight()
  70.         end
  71.         refueled = true
  72.     elseif key == "c" then
  73.         if turtle.getFuelLimit() ~= "unlimited" then
  74.             local a = turtle.getFuelLimit() - turtle.getFuelLevel()
  75.             print("I need " .. tostring(a / 80) .. " pieces of coal")
  76.         end
  77.         print("Place fuel in my inventory, then press any key.")
  78.         local event, key = os.pullEvent("char")
  79.         for i = 1,16 do
  80.             turtle.select(i)
  81.             turtle.refuel()
  82.         end
  83.         turtle.select(1)
  84.         refueled = true
  85.     else
  86.         sleep(.5)
  87.     end
  88. end
  89.  
  90. if refueled then
  91.     print("Done refueling!")
  92.     if (turtle.getFuelLimit() ~= "unlimited") and (turtle.getFuelLevel() ~= turtle.getFuelLimit()) then
  93.         print("My new fuel level is: " .. tostring(turtle.getFuelLevel()))
  94.     else
  95.         print("Fuel limit of " .. tostring(turtle.getFuelLimit()) .. " reached!")
  96.     end
  97. end
Advertisement
Add Comment
Please, Sign In to add comment