예제 #1
0
        public static async Task Main(string[] args)
        {
            var lc = new MinecraftLocator(@"C:\Users\ahpx\AppData\Roaming\.minecraft");

            lc.GetAssets("1.7.10-Forge10.13.4.1614-1.7.10").ForEach(x =>
            {
                Console.WriteLine(x.File);
            });
        }
예제 #2
0
        public static MinecraftFileType GetMinecraftType(string name, MinecraftLocator locator)
        {
            var e = locator.GetMinecraftJsonEntity(name).id.ToLower();
            var a = locator.GetMinecraftVersionRoot(name);
            var v = Version.Parse("1.13");
            var t = locator.GetMinecraftJsonType(name);

            if (a == "legacy")
            {
                if (e.Contains("forge"))
                {
                    return(MinecraftFileType.ForgeOld);
                }

                if (e.Contains("optifine"))
                {
                    return(MinecraftFileType.OptifineOld);
                }

                if (e.Contains("liteloader"))
                {
                    return(MinecraftFileType.LiteLoaderOld);
                }

                return(MinecraftFileType.VanillaOld);
            }
            else
            {
                var v1 = Version.Parse(a);
                if (e.Contains("forge"))
                {
                    return(v1 < v ? MinecraftFileType.Forge : MinecraftFileType.ForgeNew);
                }

                if (e.Contains("optifine"))
                {
                    return(v1 < v ? MinecraftFileType.Optifine : MinecraftFileType.OptifineNew);
                }

                if (e.Contains("fabric"))
                {
                    return(MinecraftFileType.Fabric);
                }

                if (e.Contains("liteloader"))
                {
                    return(MinecraftFileType.LiteLoader);
                }

                return(v1 < v
                    ? MinecraftFileType.Vanilla
                    : MinecraftFileType.VanillaNew);
            }
        }