Advertisement
HappySunChild

lavarefuel2

Apr 14th, 2025 (edited)
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.99 KB | None | 0 0
  1. local FUEL_THRESHOLD = turtle.getFuelLimit() - 100 --15000
  2. local BUCKET = "minecraft:bucket"
  3. local LAVA = "minecraft:lava"
  4.  
  5. ---@param name string
  6. ---@return boolean exists
  7. ---@return number slot
  8. local function hasItem(name)
  9.     for slot = 1, 16 do
  10.         local info = turtle.getItemDetail(slot)
  11.  
  12.         if info and info.name == name then
  13.             return true, slot
  14.         end
  15.     end
  16.  
  17.     return false, 1
  18. end
  19.  
  20. assert(hasItem(BUCKET), "Missing bucket!")
  21.  
  22. local function drillRefuel()
  23.     local y = 0
  24.  
  25.     while true do
  26.         local exists, info = turtle.inspectDown()
  27.  
  28.         if not exists or info.name ~= LAVA or info.state.level ~= 0 then
  29.             break
  30.         end
  31.  
  32.         turtle.placeDown()
  33.         turtle.refuel(1)
  34.         turtle.down()
  35.  
  36.         y = y + 1
  37.     end
  38.  
  39.     for _ = 1, y do
  40.         turtle.digUp()
  41.         turtle.up()
  42.     end
  43. end
  44.  
  45. local i = 0
  46.  
  47. while true do
  48.     drillRefuel()
  49.  
  50.     if turtle.getFuelLevel() >= FUEL_THRESHOLD then
  51.         break
  52.     end
  53.  
  54.     repeat
  55.         turtle.dig()
  56.     until turtle.forward()
  57.  
  58.     i = i + 1
  59. end
  60.  
  61. for _ = 1, i do
  62.     turtle.back()
  63. end
  64.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement