Creating an irregular array for these rooftop tiles
Just offset it on multiple axis at once.

One Array modifier with X offset
Second Array modifier with X, Y and Z offset (you can also add start/end caps)
Third Array modifier to repeat this result