Advertisement
Hiranus

Peripheral Search

May 2nd, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.26 KB | None | 0 0
  1. function search(perToFind)
  2.     local printMode = false
  3.     if perToFind == "print" or perToFind==nil then
  4.             printMode=true
  5.     end
  6.     if printMode == true then
  7.         term.clear()
  8.         term.setCursorPos(1,1)
  9.     end
  10.     local perip = peripheral.getNames()
  11.         for i=1, #perip do     
  12.             if printMode == true then
  13.                     if peripheral.getType(perip[i])=="modem" then
  14.                         if peripheral.call(perip[i],"isWireless") then
  15.                             print(perip[i] .. " -- modem.wireless")
  16.                         else
  17.                             print(perip[i] .. " -- " ..peripheral.getType(perip[i]))
  18.                         end
  19.                     else
  20.                         print(perip[i] .. " -- " ..peripheral.getType(perip[i]))
  21.                     end
  22.             else
  23.                 if perToFind=="modem" or perToFind=="modem.wireless" then
  24.                     if peripheral.getType(perip[i])=="modem" then
  25.                         if peripheral.call(perip[i],"isWireless") and perToFind=="modem.wireless" then
  26.                             return perip[i]
  27.                         elseif not peripheral.call(perip[i],"isWireless") and perToFind=="modem" then
  28.                             return perip[i]
  29.                         end
  30.                     end
  31.                 else
  32.                     if perToFind==peripheral.getType(perip[i]) or perToFind==perip[i] then
  33.                         return perip[i]
  34.                     end
  35.                 end
  36.             end
  37.         end
  38.     if printMode == false then
  39.         throw("No such peripheral: " ..perToFind)
  40.     end
  41. end
  42.  
  43. function wsearch (perToFind)
  44.     return peripheral.wrap(search(perToFind))
  45. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement