add maintenance mode & improve & bugfixing

This commit is contained in:
2024-06-20 06:55:25 +02:00
parent c31cc3aa20
commit fc27fc1c34
9 changed files with 75 additions and 44 deletions

View File

@@ -10,11 +10,7 @@ internal class Options
public IReadOnlyList<string> Additionals => additionals;
public bool Silent { get; private set; }
public bool NoUi { get; private set; }
public bool NoUpdate { get; private set; };
public bool AllowUpdaterAfterInstall { get; private set; } = true;
public Side Side { get; private set; } = Side.Client;
public string ProfileFolder { get; private set; }
public string ModpackConfig { get; private set; }
public UpdateCheckOptionsAdv UpdateOptions { get; } = new();
public Options(string[] args)
{
@@ -22,13 +18,14 @@ internal class Options
{
{ "silent", "Do not output anything.", s => Silent = s != null },
{ "n|noui", "Install without user interface.", n => NoUi = n != null },
{ "p|profile=", "Sets the minecraft profile folder.", p => ProfileFolder = p },
{ "c|config=", "Sets the minecraft profile folder.", c => ModpackConfig = c },
{ "s|side=", "Sets the minecraft profile folder.\nDefault side is Client.\nAvailable: Client, Server", s => Side = Enum.Parse<Side>(s)},
{ "uai", "Allow an update directly after install. This only has affect if there is no existing installation.", uai => AllowUpdaterAfterInstall = uai != null},
{ "noupdate", "Skip the update check wich happens when opening the user interface.", noupdate => NoUpdate = noupdate != null},
{ "p|profile=", "Sets the minecraft profile folder.", p => UpdateOptions.ProfileFolder = p },
{ "c|config=", "Sets the minecraft profile folder.", c => UpdateOptions.ModpackConfig = c },
{ "s|side=", "Sets the minecraft profile folder.\nDefault side is Client.\nAvailable: Client, Server", s => UpdateOptions.Side = Enum.Parse<Side>(s)},
{ "uai", "Allow an update directly after install. This only has affect if there is no existing installation.", uai => UpdateOptions.AllowUpdaterAfterInstall = uai != null},
{ "noupdate", "Skip the update check.", noupdate => UpdateOptions.NoUpdate = noupdate != null},
{ "m|maintenance", "Ignores the maintenance mode.", m => UpdateOptions.IgnoreMaintenance = m != null},
};
var additional = options.Parse(args);
additionals.AddRange(options.Parse(args));
}
}