Le_JuiceBOX

[App] lavaRefuel.lua

Aug 28th, 2025 (edited)
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.87 KB | None | 0 0
  1. --3Q2j2WHi
  2. local SEPERATOR = "======================================="
  3. local BUCKET_ID = "minecraft:bucket"
  4. local FUELBUCKET_ID = "minecraft:lava_bucket"
  5.  
  6.  
  7. function MAIN()
  8.     clear()
  9.     welcomeMessage()
  10.     untilSuccess(waitForBucket)
  11.     clear()
  12.     say(SEPERATOR)
  13.     say("\nFueling up...\n")
  14.     say(SEPERATOR)
  15.     Refuel();
  16.     clear()
  17.     say(SEPERATOR)
  18.     say("\nFinished.\n")
  19.     say(SEPERATOR)
  20. end
  21.  
  22. function clear() shell.run("clear"); end
  23. function say(...) print(...); end
  24.  
  25. function untilSuccess(func,...)
  26.     local s = false
  27.     repeat s = func(...); until s;
  28. end
  29.  
  30. function waitForBucket()
  31.     turtle.select(1)
  32.     local dat = turtle.getItemDetail()
  33.     if not dat or dat.name ~= BUCKET_ID then say("Insert bucket in slot 1 to continue."); pause(); return false; end
  34.     return true;
  35. end
  36.  
  37. function pause()
  38.     print("\nPress ENTER to continue...");
  39.     local pX,pY = term.getCursorPos()
  40.     --term.setCursorPos(0,0);
  41.     io.read();
  42.     clear()
  43.     --term.setCursorPos(1,1)
  44.     welcomeMessage();
  45. end
  46.  
  47. function Refuel(dir)
  48.     local blocksMoved = 0
  49.     repeat
  50.         turtle.placeDown()
  51.         turtle.select(1)
  52.         local dat = turtle.getItemDetail()
  53.         if dat and dat.name == FUELBUCKET_ID then
  54.             turtle.refuel(1)
  55.         end
  56.         turtle.forward()
  57.         blocksMoved = blocksMoved + 1
  58.         print("Fuel: "..tostring(turtle.getFuelLevel()).."...")
  59.     until turtle.getFuelLevel() >= turtle.getFuelLimit() - 100;
  60.     repeat
  61.         turtle.back()
  62.         blocksMoved = blocksMoved - 1
  63.     until blocksMoved == 0
  64. end
  65.  
  66. function welcomeMessage()
  67.     say(SEPERATOR)
  68.     say("Welcome to Turtle Refill!")
  69.     say(SEPERATOR)
  70. end
  71.  
  72. function isValidDir(txt)
  73.     local t = string.upper(txt)
  74.     return not ( (t=="TOP") or (t=="BOTTOM") or (t=="LEFT") or (t=="RIGHT") or (t=="FRONT") or (t=="BACK") );
  75. end
  76.  
  77. MAIN()
  78.  
Advertisement
Add Comment
Please, Sign In to add comment