The position check needs to happen earlier. Once the chunk is loaded/generated via PlayerChunkMap.a(x,z,bool), there's no turning back. Enlisting the player then with PlayerChunk.a(EntityPlayer) is currently mandatory. Also: keeping 'boarder chunks' in a buffer, in case the player goes there again, to avoid missing chunks on the client