Advertisement
jille_Jr

CC: Turtle label that shows fuel level

Nov 15th, 2020 (edited)
883
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.03 KB | None | 0 0
  1. --- Save this to some file (ex: /utils/turtle2.lua)
  2. --- then run this ONCE in startup.lua:
  3. ---   shell.run("turtle2.lua")
  4. ---
  5. --- If your turtle is named "Bob"
  6. --- Then with this script, your turtle will be
  7. --- renamed to "Bob (123)", if it has 123 in fuel level
  8. ---
  9. --- The label is automatically updated again when
  10. --- the turtle consumes fuel.
  11.  
  12. local _turtle = {}
  13. local name = os.getComputerLabel() or ""
  14. name = name:match("(.+) %(%d+%)") or name
  15.  
  16. for key,value in pairs(turtle) do
  17.     _turtle[key] = value
  18. end
  19.  
  20. local function updateLabel()
  21.     os.setComputerLabel(
  22.         table.concat {
  23.             name,
  24.             " (",
  25.             _turtle.getFuelLevel(),
  26.             ")"
  27.         }
  28.     )
  29. end
  30.  
  31. local function wrapFuelUse(f)
  32.     return function(...)
  33.         local result = {f(...)}
  34.         updateLabel()
  35.         return unpack(result)
  36.     end
  37. end
  38.  
  39. for _, fname in ipairs {
  40.     "forward",
  41.     "back",
  42.     "up",
  43.     "down",
  44.     "refuel"
  45. } do
  46.     turtle[fname] = wrapFuelUse(_turtle[fname])
  47. end
  48.  
  49. updateLabel()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement