public void Patch(string filename, LauncherProfileData data) { if (!File.Exists(filename)) { Downloader.Download(defaultLauncherProfile, filename); } UpdateLauncherProfile(filename, data); }
private void UpdateLauncherProfile(string filename, LauncherProfileData data) { JObject json = ReadProfile(filename); UpdateProfile(ref json, data); WriteProfile(json, filename); OutputConsole.Print($"[Updated] {filename}."); }
private JProperty CreateForgeProfile(LauncherProfileData data) { return(new JProperty("forge", new JObject( CreateName(data), CreateType(data), CreateCreated(data), CreateLastUsed(data), CreateIcon(data), CreateLastVersionId(data), CreateGameDirectory(data), CreateResolution(), CreateJavaArgs(data) ))); }
private LauncherProfileData ReadLauncherProfileData(XElement launcherProfile) { LauncherProfileData result = new LauncherProfileData { Name = XElementExtender.ReadName(launcherProfile), Type = XElementExtender.ReadString(launcherProfile, "type"), Icon = XElementExtender.ReadString(launcherProfile, "icon"), LastVersionId = XElementExtender.ReadString(launcherProfile, "lastVersionId"), JavaArgs = XElementExtender.ReadString(launcherProfile, "javaArgs"), GameDirectory = XElementExtender.ReadString(launcherProfile, "gameDir") }; OutputConsole.PrintVerbose(result, 1); return(result); }
private JProperty CreateLastVersionId(LauncherProfileData data) { return(new JProperty("lastVersionId", data.LastVersionId)); }
private JProperty CreateIcon(LauncherProfileData data) { return(new JProperty("icon", data.Icon)); }
private JProperty CreateLastUsed(LauncherProfileData data) { return(new JProperty("lastUsed", data.LastUsed)); }
private JProperty CreateCreated(LauncherProfileData data) { return(new JProperty("created", data.Created)); }
private JProperty CreateType(LauncherProfileData data) { return(new JProperty("type", data.Type)); }
private JProperty CreateName(LauncherProfileData data) { return(new JProperty("name", data.Name)); }
private void UpdateProfile(ref JObject json, LauncherProfileData data) { json["profiles"] = new JObject(CreateForgeProfile(data)); }
private JProperty CreateJavaArgs(LauncherProfileData data) { Regex rgx = new Regex("-Xmx\\d+G"); return(new JProperty("javaArgs", rgx.Replace(data.JavaArgs, $"-Xmx{Settings.Default.RAM}G"))); }
private JProperty CreateGameDirectory(LauncherProfileData data) { string gameDir = Path.Combine(Paths.ExecutingDirectory, data.GameDirectory); return(new JProperty("gameDir", gameDir)); }