Yep, only gets called three times now for all three dimensions. Still, the border won't work.
Inb4: I was looking through CommandWorldBorder and realized setCenter arguments are double and they get incremented by 0.5. With hope that this is the problem, I changed the line in my code to this
worldborder.setCenter((double)x+0.5D, (double)z+0.5D);
And it still won't work.
I'm pretty sure set center does not change the length of the world border.