Pipe TE now stores array of adjecent pipes
This array gets updated when the pipe is initially placed, and every time an adjecent block is changed