internal string ForgeKeep(string FileText, ForgeY.Root ForgePath, string versionjson, string version) { ForgeJsonEarly.Root root = JsonConvert.DeserializeObject <ForgeJsonEarly.Root>(FileText); JsonConvert.DeserializeObject <ForgeY.Root>(FileText); string str = null; if (root.minecraftArguments != null) { JsonConvert.DeserializeObject <ForgeJsonEarly.Root>(versionjson); str = str + "{"; this.SLC.wj(System.Directory.GetCurrentDirectory() + @"\.minecraft\versions\" + version + @"\" + version + ".json", versionjson); str = str + this.ForgeJsonY(JsonConvert.DeserializeObject <ForgeY.Root>(versionjson), ForgePath); char[] separator = new char[] { ' ' }; string[] strArray = root.minecraftArguments.Split(separator); string str2 = ""; for (int j = 1; strArray.Length > j; j += 2) { if ((((strArray[j - 1][0] == '-') && (strArray[j] != "com.mumfrey.liteloader.launch.LiteLoaderTweaker")) && (strArray[j] != "optifine.OptiFineForgeTweaker")) || (strArray[j][0] == '$')) { if (j != (strArray.Length - 1)) { string[] textArray4 = new string[] { str2, strArray[j - 1], " ", strArray[j], " " }; str2 = string.Concat(textArray4); } else { str2 = str2 + strArray[j - 1] + " " + strArray[j]; } } } if (str2[str2.Length - 1] == ' ') { str2 = str2.Substring(0, str2.Length - 1); } return(str + ",\"minecraftArguments\": \"" + str2 + "\"}"); } JObject obj2 = (JObject)JsonConvert.DeserializeObject(FileText); str = str + "{\"arguments\": {\"game\": ["; for (int i = 1; (obj2["arguments"]["game"].ToArray <JToken>().Length - 1) > 0; i += 2) { try { obj2["arguments"]["game"][i].ToString(); if ((((obj2["arguments"]["game"][i - 1].ToString()[0] == '-') && (obj2["arguments"]["game"][i].ToString() != "com.mumfrey.liteloader.launch.LiteLoaderTweaker")) && (obj2["arguments"]["game"][i].ToString() != "optifine.OptiFineForgeTweaker")) || (obj2["arguments"]["game"][i - 1].ToString()[0] == '$')) { string[] textArray1 = new string[] { str, "\"", obj2["arguments"]["game"][i - 1].ToString(), "\",\"", obj2["arguments"]["game"][i].ToString(), "\"," }; str = string.Concat(textArray1); } } catch (Exception) { break; } } str = str.Substring(0, str.Length - 1) + "]},"; this.SLC.wj(System.Directory.GetCurrentDirectory() + @"\.minecraft\versions\" + version + @"\" + version + ".json", versionjson); return(str + this.ForgeJsonY(JsonConvert.DeserializeObject <ForgeY.Root>(versionjson), ForgePath) + "}"); }
internal async Task <string> LiteloaderJson(string version) { if (this.tools.LiteloaderExist(version)) { throw new SquareMinecraftLauncherException("已经安装过了,无需再次安装"); } string idVersion = null; foreach (AllTheExistingVersion version2 in this.tools.GetAllTheExistingVersion()) { if (version2.version == version) { idVersion = version2.IdVersion; } } LiteloaderList[] liteloaderList = await tools.GetLiteloaderList(); LiteloaderList libraries = new LiteloaderList(); foreach (LiteloaderList list2 in liteloaderList) { if (list2.mcversion == idVersion) { libraries = list2; break; } if (list2.mcversion == liteloaderList[liteloaderList.Length - 1].mcversion) { throw new SquareMinecraftLauncherException("该版本不支持安装"); } } string file = this.SLC.GetFile(System.Directory.GetCurrentDirectory() + @"\.minecraft\versions\" + version + @"\" + version + ".json"); ForgeY.Root versionText = JsonConvert.DeserializeObject <ForgeY.Root>(file); string str2 = null; str2 = str2 + "{" + this.liteloaderJsonY(versionText, libraries, version); ForgeJsonEarly.Root root2 = JsonConvert.DeserializeObject <ForgeJsonEarly.Root>(file); string[] textArray2 = new string[] { str2, ",\"minecraftArguments\": \"", root2.minecraftArguments, " --tweakClass ", libraries.tweakClass, "\"}" }; return(string.Concat(textArray2)); }
public string ForgeJson(string version, string ForgePath) { string file = null; AllTheExistingVersion[] allTheExistingVersion = this.Tools.GetAllTheExistingVersion(); foreach (AllTheExistingVersion version2 in allTheExistingVersion) { if (version2.version == version) { string idVersion = version2.IdVersion; break; } if (version2 == allTheExistingVersion[allTheExistingVersion.Length - 1]) { throw new SquareMinecraftLauncherException("未找到该版本"); } } if (this.Tools.ForgeExist(version)) { this.Tools.UninstallTheExpansionPack(ExpansionPack.Forge, version); } file = this.SLC.GetFile(System.Directory.GetCurrentDirectory() + @"\.minecraft\versions\" + version + @"\" + version + ".json"); ForgeJsonEarly.Root root = JsonConvert.DeserializeObject <ForgeJsonEarly.Root>(file); ForgeY.Root versionText = JsonConvert.DeserializeObject <ForgeY.Root>(file); string str2 = null; if (root.minecraftArguments != null) { ForgeJsonEarly.Root root3 = JsonConvert.DeserializeObject <ForgeJsonEarly.Root>(this.SLC.GetFile(ForgePath)); str2 = str2 + "{" + this.ForgeJsonY(versionText, JsonConvert.DeserializeObject <ForgeY.Root>(this.SLC.GetFile(ForgePath))); if (this.Tools.OptifineExist(version)) { root3.minecraftArguments = root3.minecraftArguments + " --tweakClass optifine.OptiFineForgeTweaker"; } if (this.Tools.LiteloaderExist(version)) { root3.minecraftArguments = root3.minecraftArguments + " --tweakClass com.mumfrey.liteloader.launch.LiteLoaderTweaker"; } return(str2 + ",\"minecraftArguments\": \"" + root3.minecraftArguments + "\"}"); } JObject obj2 = (JObject)JsonConvert.DeserializeObject(file); JObject obj3 = (JObject)JsonConvert.DeserializeObject(this.SLC.GetFile(ForgePath)); str2 = str2 + "{\"arguments\": {\"game\": ["; for (int i = 0; (obj2["arguments"]["game"].ToArray <JToken>().Length - 1) > 0; i++) { try { obj2["arguments"]["game"][i].ToString(); if ((obj2["arguments"]["game"][i].ToString()[0] == '-') || (obj2["arguments"]["game"][i].ToString()[0] == '$')) { str2 = str2 + "\"" + obj2["arguments"]["game"][i].ToString() + "\","; continue; } if (obj2["arguments"]["game"][i - 1].ToString()[0] == '-') { str2 = str2 + "\"" + obj2["arguments"]["game"][i].ToString() + "\","; continue; } } catch (Exception) { } break; } if (this.Tools.OptifineExist(version)) { str2 = str2 + "\"--tweakClass\",\"optifine.OptiFineForgeTweaker\","; } if (this.Tools.LiteloaderExist(version)) { str2 = str2 + " \"--tweakClass\",\"com.mumfrey.liteloader.launch.LiteLoaderTweaker\","; } for (int j = 0; (obj3["arguments"]["game"].ToArray().Length - 1) > 0; j++) { try { obj3["arguments"]["game"][j].ToString(); str2 = str2 + "\"" + obj3["arguments"]["game"][j].ToString() + "\","; } catch (Exception) { str2 = str2.Substring(0, str2.Length - 1) + "]},"; break; } } return(str2 + this.ForgeJsonY(versionText, JsonConvert.DeserializeObject <ForgeY.Root>(this.SLC.GetFile(ForgePath))) + "}"); }
internal async Task <string> OptifineJson(string version, OptiFineList optiFineList) { if (this.tools.OptifineExist(version)) { throw new SquareMinecraftLauncherException("已经安装过了,无需再次安装"); } string file = this.SLC.GetFile(System.Directory.GetCurrentDirectory() + @"\.minecraft\versions\" + version + @"\" + version + ".json"); ForgeJsonEarly.Root root = JsonConvert.DeserializeObject <ForgeJsonEarly.Root>(file); ForgeY.Root versionText = JsonConvert.DeserializeObject <ForgeY.Root>(file); string str2 = null; if (root.minecraftArguments == null) { JObject obj2 = (JObject)JsonConvert.DeserializeObject(file); str2 = str2 + "{\"arguments\": {\"game\": ["; for (int i = 0; (obj2["arguments"]["game"].ToArray <JToken>().Length - 1) > 0; i++) { try { obj2["arguments"]["game"][i].ToString(); if ((obj2["arguments"]["game"][i].ToString()[0] == '-') || (obj2["arguments"]["game"][i].ToString()[0] == '$')) { str2 = str2 + "\"" + obj2["arguments"]["game"][i].ToString() + "\","; continue; } if (obj2["arguments"]["game"][i - 1].ToString()[0] == '-') { str2 = str2 + "\"" + obj2["arguments"]["game"][i].ToString() + "\","; continue; } } catch (Exception) { } break; } try { await tools.GetCompareForgeVersions(version); str2 = str2 + "\"--tweakClass\","; str2 = str2 + "\"optifine.OptiFineForgeTweaker\"]},"; } catch (SquareMinecraftLauncherException) { str2 = str2 + "\"--tweakClass\"," + "\"optifine.OptiFineTweaker\"]},"; } return(str2 + this.liteloaderJsonY(versionText, optiFineList.type, optiFineList.patch, version, optiFineList.filename) + "}"); } str2 = str2 + "{" + this.liteloaderJsonY(versionText, optiFineList.type, optiFineList.patch, version, optiFineList.filename); ForgeJsonEarly.Root root3 = JsonConvert.DeserializeObject <ForgeJsonEarly.Root>(file); try { await tools.GetCompareForgeVersions(version); return(str2 + ",\"minecraftArguments\": \"" + root3.minecraftArguments + " --tweakClass optifine.OptiFineForgeTweaker\"}"); } catch (SquareMinecraftLauncherException) { return(str2 + ",\"minecraftArguments\": \"" + root3.minecraftArguments + " --tweakClass optifine.OptiFineTweaker\"}"); } }