The mask that you have is probably not a good idea. It’s rarely a good idea to run a vec into a fac. (Even for a straight gradient, you’d be better off separating channels and running a single channel into the fac.) And the use of generated coords won’t give you per-tile values.
There are basically two simple ways to mask this geometrically, either with a square shape, or with a circular shape. You can combine those two ways anyhow you want.
On the left, I’m getting the distance from the border (in UV space) to create a square shaped mask. On the right, I’m getting the distance from the center to get a circular shaped mask.
Either of these would be improved by integrating some noise into the mask, which can be done as a simple multiply. Curves can be tuned as desired (or color ramps can be plugged in instead if you prefer those.)