Well in OpenPeripherals case they tell ComputerCraft through the PeripheralProvider that all TileEntities (TE) are a peripheral, and then when ComputerCraft passes them a peripheral they check if they want it or not. However I do suggest against this method; just register the blocks you're interested in.
Once they have the TE they're interested in, it and another class, which they call an Adapter, gets wrapped together into another class, this Adapter is where all the methods are defined, and it had access to the TE to get information from it, a lot of the time this information is having to be taken from the TE through use of reflection, or the API of the mod which adds the block.
I do suggest having a read through of an
older OpenPeripheral, back when times were simpler, and the cohesion, coherence, and functional complexity of OpenPeripheral was
far lower!