Niagara Plexus effect

Hi, I am currently trying to learn and understand niagara a little better and would appreciate some Insight on how niagara processes a module script. I looked at some of the content examples and thought I had a good understanding of how things work. Now I Set my self the Goal of creating a Plexus Like effect in niagara but quickly realized that I actually dont understand as much as I thought. I would Like to measure the distance between all particles at all times and than define a custom threshold variable to draw a ribbon between particles in which this threshold is true.
I created a Module and tried to use simple Pythagoras math but i cant figure Out how to get all particles positions… I can see them in the Attribute spreadsheet but the way I understand modules ist that they get the Attribute per execution Index? How can I get the Position of a specific particle with a specific ID? Or what would be the best way to implement a Plexus like effect? Do I need multiple emitters? Do I need to somehow write out particle positions and than read them Back in? Would love some Help with this.