You can change the default behavior of the launcher.
Example
var path = new MinecraftPath();
var parameters = MinecraftLauncherParameters.CreateDefault(path);
// set default RulesEvaluator
parameters.RulesEvaluator = new RulesEvaluator();
// load only the locally installed version
parameters.VersionLoader = new LocalJsonVersionLoader(path);
// set default JavaPathResolver
parameters.JavaPathResolver = new MinecraftJavaPathResolver(path);
// use single-threaded game installer
parameters.GameInstaller = new BasicGameInstaller(parameters.HttpClient);
// modify default file extractors
var extractors = DefaultFileExtractors.CreateDefault(
parameters.HttpClient,
parameters.RulesEvaluator!,
parameters.JavaPathResolver!);
extractors.Asset!.AssetServer = MojangServer.ResourceDownload; // set asset download server
extractors.Library!.LibraryServer = MojangServer.Library; // set library download server
extractors.Java = null; // remove JavaFileExtractor
extractors.ExtraExtractors = []; // add additional file extractor
parameters.FileExtractors = extractors.ToExtractorCollection();
// initialize a new launcher with parameters
var launcher = new MinecraftLauncher(parameters);