You should add that getUsername function yourself in your own sided proxy class.
Anyways, there is no garentee that ANY radius around the player is to be loaded. On the server you can lower it to one chunk, or you can raise it to 1,000 chunks.
Many times it's lowered.
What you *should* do is have your village object store the location of the villagers and not create new ones if they are already created, but unloaded.