Advertisement
Guest User

updateConnections.lua

a guest
Jun 26th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.06 KB | None | 0 0
  1. devices = {}
  2. deviceFileName = "redstone.devices"
  3.  
  4. local deviceFile = io.open(deviceFileName, "r")
  5. for line in deviceFile:lines() do
  6.   local device = {}
  7.   for value in line:gmatch("%S+") do
  8.     table.insert(device, value)
  9.   end
  10.  
  11.   devices[device[1]] = device[2]
  12. end
  13. deviceFile:close()
  14. deviceFile = nil
  15.  
  16. local accessedAddresses = {}
  17.  
  18. for address, type in pairs(require("component").list()) do
  19.   if type == "redstone" then
  20.     table.insert(accessedAddresses, address)
  21.     if devices[address] == nil then
  22.       io.write(address, " is not registered.\n")
  23.       io.write("What should its alias be?\n")
  24.       name = io.read()
  25.       devices[address] = name
  26.     end
  27.   end
  28. end
  29.  
  30. for address, name in pairs(devices) do
  31.   local valueExists = false
  32.   for index, visited in pairs(accessedAddresses) do
  33.     if visited == address then
  34.       valueExists = true
  35.     end
  36.   end
  37.  
  38.   if valueExists == false then
  39.     devices[address] = nil
  40.   end
  41. end
  42.  
  43. local deviceFile = io.open(deviceFileName, "w")
  44. for address, name in pairs(devices) do
  45.   deviceFile:write(address, " ", name, "\n")
  46. end
  47. deviceFile:close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement