namespace PCLCS; public static class Resource { /// /// 将 CurseForge 的 ModLoaderType 映射为 枚举。 /// public static ModLoaders FromCurseForgeModLoaderType(int modLoaderType) => modLoaderType switch { // https://docs.curseforge.com/rest-api/#tocS_ModLoaderType 1 => ModLoaders.Forge, 3 => ModLoaders.LiteLoader, 4 => ModLoaders.Fabric, 6 => ModLoaders.NeoForge, _ => ModLoaders.None, }; /// /// 将 映射为 CurseForge 的单一 ModLoaderType。 /// public static int ToCurseForgeModLoaderType(ModLoaders loaders) { if (loaders == ModLoaders.None) return 0; if (!loaders.Flags().IsSingle()) throw new ArgumentException($"传入的枚举值 {loaders} 并非单个 Mod Loader", nameof(loaders)); return loaders switch { ModLoaders.Forge => 1, ModLoaders.LiteLoader => 3, ModLoaders.Fabric => 4, ModLoaders.NeoForge => 6, _ => 0, }; } }