Advertisement
largeNumberGoeshere

CC nixie fluid readout

Mar 3rd, 2025 (edited)
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.36 KB | None | 0 0
  1. local tank = peripheral.find("modern_industrialization:large_tank_hatch")
  2. local display = peripheral.find("create_source")
  3.  
  4. print("Printing tank fullness to nixie tubes")
  5. local prevTankPercent = -1  -- the tank doesn't seem to show up when no updates are given
  6. while true do
  7.     local percentage = -1
  8.     local tanks = tank.tanks()
  9.    
  10.     if #tanks > 0 or tanks[1] ~= nil then
  11.         local amount = tanks[1].amount
  12.         local capacity = tanks[1].capacity
  13.         local ratio = amount / capacity
  14.         percentage = ratio *100
  15.         prevTankPercent = percentage
  16.         print(tostring(os.time()).."new data")
  17.     else
  18.         print(tostring(os.time()) .. "outdated info")  
  19.         percentage = prevTankPercent
  20.     end
  21.  
  22.     if percentage == -1 then
  23.         display.clear()
  24.         display.setCursorPos(1,1)
  25.         display.write("??.??%")
  26.         print(tostring(os.time()) .. "no data")
  27.     elseif percentage == 1 then
  28.         display.clear()
  29.         display.setCursorPos(1,1)
  30.         display.write("FULL")
  31.     else
  32.         local dig_0 = math.floor((percentage / 10) % 10)
  33.         local dig_1 = math.floor(percentage % 10)
  34.         local dig_2 = math.floor((percentage *10) %10)
  35.         local dig_3 = math.floor((percentage *100) %10)
  36.  
  37.         display.clear()
  38.         display.setCursorPos(1,1)
  39.         display.write(tostring(dig_0)) 
  40.         display.write(tostring(dig_1))
  41.         display.write(".")
  42.         display.write(tostring(dig_2))
  43.         display.write(tostring(dig_3))
  44.         display.write("%")
  45.     end
  46.    
  47.     sleep(1)   
  48. end
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement