public void Clean() { foreach (var directory in CleanupDirectories) { if (!Directory.Exists(directory.LocalDirectory)) { continue; } if (!IsValidSubDirectory(directory.LocalDirectory)) { continue; } foreach (string file in Directory.GetFiles(directory.LocalDirectory, "*.*", SearchOption.AllDirectories)) { if (PatchFiles.Any(e => file.Contains(e.LocalDirectory))) { continue; } OutputConsole.Print($"[Cleaning] {file}"); File.Delete(file); } } OutputConsole.Print($"[Cleaning done]"); }
private void PatchLauncherProfile() { LauncherProfilePatcher patcher = new LauncherProfilePatcher(fileInfos.DefaultLauncherProfilesFile); patcher.Patch(fileInfos.LauncherProfilesFilename, server.LauncherProfileData); OutputConsole.Print($"[Patching] {fileInfos.LauncherProfilesFilename}"); }
private void PatchMinecraftLauncher() { if (!File.Exists(fileInfos.MinecraftLauncherFilename) || fileInfos.MinecraftLauncherHash != MD5Hash.FromFile(fileInfos.MinecraftLauncherFilename)) { Downloader.Download(fileInfos.DefaultMinecraftLauncherFile, fileInfos.MinecraftLauncherFilename); OutputConsole.Print($"[Patching] {fileInfos.MinecraftLauncherFilename}"); } }
private void PatchOptions() { OptionsPatcher patcher = new OptionsPatcher(fileInfos.DefaultOptionsFile); string filename = Path.Combine(GetInstallationDirectory(), fileInfos.OptionsFilename); patcher.Patch(filename, server.Options); OutputConsole.Print($"[Patching] {filename}"); }
private void UpdateLauncherProfile(string filename, LauncherProfileData data) { JObject json = ReadProfile(filename); UpdateProfile(ref json, data); WriteProfile(json, filename); OutputConsole.Print($"[Updated] {filename}."); }
private void LaunchMinecraft() { if (!File.Exists(fileInfos.MinecraftLauncherFilename)) { return; } string parameters = $"--workDir {Paths.MinecraftDirectory}"; Process.Start(fileInfos.MinecraftLauncherFilename, parameters); OutputConsole.Print($"[Running] {fileInfos.MinecraftLauncherFilename}'\n with parameters '{parameters}'"); }
public void Save() { if (instance == null) { return; } Serialize(); OutputConsole.Print(instance); OutputConsole.Print("[Settings saved]"); }
public void Load() { if (!File.Exists(Paths.SettingsFile)) { return; } Deserialize(); OutputConsole.Print(instance); OutputConsole.Print("[Settings loaded]"); }
public Mainform(Style style) { InitializeComponent(); InitializeImages(); Console.SetOut(new OutputConsole(this, consoleTextBox)); OutputConsole.Print(typeof(Paths)); AssemblyLoader.Load(); Settings.Default.Load(); UpdateControls(style); }
public void Uninstall(string directory) { if (!Directory.Exists(directory)) { return; } if (!IsValidSubDirectory(directory)) { return; } OutputConsole.Print($"[Uninstalling] {directory}"); Directory.Delete(directory, true); }
public void Patch() { List <PatchFile> updateableFiles = GetUpdateableFiles(); int index = 1; foreach (var file in updateableFiles) { UpdateProgress?.Invoke((100 * index / updateableFiles.Count)); OutputConsole.Print($"[Updating] [{index}/{updateableFiles.Count}] {file.LocalDirectory}"); Downloader.Download(file.DownloadUri, file.LocalDirectory); index++; } OutputConsole.Print($"[Updating done]"); }
private void CopyServersFile() { if (File.Exists(Paths.ServersFile)) { File.Delete(Paths.ServersFile); OutputConsole.Print($"[Deleting] {Paths.ServersFile}"); } string sourceFile = Path.Combine(GetInstallationDirectory(), "Servers.dat"); if (File.Exists(sourceFile)) { File.Copy(sourceFile, Paths.ServersFile); OutputConsole.Print($"[Copying] {sourceFile}"); } }