public JSoreFileItemInfo(FileInfo file) { _info = new JFileInfo(file); _length = file.Length; _path = file.Directory.FullName; _filters = new List <IJFilter>(); // Create the view data fileName = file.Name; }
public static IEnumerable <DownloadInfo> GetLostEssentials(Version version) { var lostEssentials = new List <DownloadInfo>(); var JarPath = $"{YingApp.YCore.GameRootPath}\\versions\\{version.JarId}\\{version.JarId}.jar"; if (!File.Exists(JarPath)) { lostEssentials.Add(new DownloadInfo { Path = JarPath, Url = BaseUrl.VersionBaseUrl + version.Downloads.Client.Url.Substring(28), Size = version.Downloads.Client.Size, }); } /*foreach (var lib in version.Libraries) * { * JFileInfo yinfo = lib.YDownloadInfo.Artifact; * var absolutePath = $"{YingApp.YCore.GameRootPath}\\libraries\\{yinfo.Path}"; * if (!File.Exists(absolutePath)) * { * lostEssentials.Add(new DownloadInfo * { * Path = absolutePath, * Url = (lib.IsForgeLib) ? (BaseUrl.MavenBaseUrl + yinfo.Path) : (BaseUrl.LibraryBaseUrl + yinfo.Path), * Size = yinfo.Size, * }); * } * }*/ foreach (var ylibrary in version.Libraries) { if (!ylibrary.isYForgeLib) { JFileInfo yinfo = ylibrary.YDownloadInfo.Artifact; var absolutePath = $"{YingApp.YCore.GameRootPath}\\libraries\\{yinfo.Path}"; if (!File.Exists(absolutePath)) { lostEssentials.Add(new DownloadInfo { Path = absolutePath, Url = BaseUrl.LibraryBaseUrl + yinfo.Path, Size = yinfo.Size, }); } } else { //"name": "net.minecraft:launchwrapper:1.12", //https://bmclapi2.bangbang93.com/maven/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar //string[] ytemp = ylibrary.NS.Split(':'); string ypath = $"{ylibrary.NS.Replace(".", "/")}/{ylibrary.Name}/{ylibrary.Version}/{ylibrary.Name}-{ylibrary.Version}.jar"; var absolutePath = $"{YingApp.YCore.GameRootPath}\\libraries\\{ypath}"; if (!File.Exists(absolutePath)) { lostEssentials.Add(new DownloadInfo { Path = absolutePath, Url = BaseUrl.MavenBaseUrl + ypath, }); } } } foreach (var ynative in version.Natives) { JFileInfo yinfo = ynative.YDownloadInfo.Classifiers["natives-windows"]; var absolutePath = YingApp.YCore.GetNativePath(ynative);//$"{YingApp.YCore.GameRootPath}\\libraries\\{native.Path}"; if (!File.Exists(absolutePath)) { lostEssentials.Add(new DownloadInfo { Path = absolutePath, Url = BaseUrl.LibraryBaseUrl + yinfo.Path, Size = yinfo.Size, }); } } return(lostEssentials); }