Пример #1
0
        private static string GetLibraries_Optifine()
        {
            VersionJson versionJson        = Global.LaunchConfiguation.MinecraftSetting.VersionJson;
            VersionJson versionJsonVanilla = JsonStorage.ParseVersionJson($"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\versions\\{versionJson.inheritsFrom}");
            String      re = String.Empty;

            for (int i = 0; i < versionJson.libraries.Count; i++)
            {
                String[] split    = $"{versionJson.libraries[i].name}".Split(':');
                String   tempPath = $"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\libraries\\{split[0].Replace(".", "\\")}\\{split[1]}\\{split[2]}";
                Console.WriteLine("==========================TEMP" + tempPath);
                foreach (String item in Directory.GetFiles(tempPath))
                {
                    re += $"{item};";
                }
            }
            Console.WriteLine(GetClientType(versionJsonVanilla));
            String vanilla = String.Empty;

            switch (GetClientType(versionJsonVanilla))
            {
            case 2:
                vanilla = GetLibraries_VanillaHigh();
                break;

            case 0:
                vanilla = GetLibraries_Vanilla();
                break;
            }
            return(vanilla + re);
        }
Пример #2
0
        static async Task Main(string[] args)
        {
            OfflineAuthenticator mojangAuthenticator = new OfflineAuthenticator
            {
                Account = "*****@*****.**",
            };
            AuthResult authResult = mojangAuthenticator.Auth();

            Console.WriteLine(authResult.PlayerName);
            Global.AuthConfiguation   = authResult;
            Global.LaunchConfiguation = new LaunchConfiguation
            {
                JavaSetting = new JavaSetting
                {
                    MaxMemorySize = 10,
                    MinMemorySize = 6,
                    JavaPath      = @"C:\Program Files\Java\jre1.8.0_241\bin\javaw.exe",
                },
                MinecraftSetting = new MinecraftSetting
                {
                    LauncherName    = "Tets",
                    MinecraftSource = @"D:\Minecraft\Solution1\.minecraft",
                    VersionJson     = JsonStorage.ParseVersionJson(@"D:\Minecraft\Solution1\.minecraft\versions\1.8.9")
                }
            };
            foreach (var item in Libraries.GetExistLibraries())
            {
                Console.WriteLine(item.DownloadUri);
                Console.WriteLine(item.FileName);
            }
            LaunchCore launchCore = new LaunchCore();
            String     argss      = launchCore.GenerateLaunchArgs();

            Console.WriteLine(argss);
            launchCore.ExtraNatives();



            Console.ReadLine();
        }
Пример #3
0
        public static async Task <List <AssetsModule> > ParseAssetsAsync()
        {
            VersionJson versionName = Global.LaunchConfiguation.MinecraftSetting.VersionJson;
            String      jsonName;

            VersionJson versionJson;
            int         clientType = GetClientType(Global.LaunchConfiguation.MinecraftSetting.VersionJson);

            if (clientType == 1 || clientType == 3)
            {
                versionJson = JsonStorage.ParseVersionJson(Global.LaunchConfiguation.MinecraftSetting.VersionJson.inheritsFrom);
                jsonName    = $"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\assets\\indexes\\{versionJson.assetIndex.id}.json";
                if (!File.Exists(jsonName))
                {
                    await NetTools.DownloadFileAsync(new Uri($"https://bmclapi2.bangbang93.com/v1/packages/{versionJson.assetIndex.sha1}/{versionJson.assetIndex.id}.json"), jsonName);
                }
            }
            else
            {
                versionJson = Global.LaunchConfiguation.MinecraftSetting.VersionJson;
                jsonName    = $"{Global.LaunchConfiguation.MinecraftSetting.MinecraftSource}\\assets\\indexes\\{versionName.assetIndex.id}.json";
                if (!File.Exists(jsonName))
                {
                    await NetTools.DownloadFileAsync(new Uri($"https://bmclapi2.bangbang93.com/v1/packages/{versionJson.assetIndex.sha1}/{versionJson.assetIndex.id}.json"), jsonName);
                }
            }

            String jsonText        = File.ReadAllText(jsonName);
            List <AssetsModule> re = new List <AssetsModule>();

            foreach (DictionaryEntry item in AnalayJson(jsonText))
            {
                foreach (DictionaryEntry sub in AnalayJson(item.Value.ToString()))
                {
                    re.Add(JsonConvert.DeserializeObject <AssetsModule>(sub.Value.ToString()));
                }
            }

            return(re);
        }