list only relevant modrinth versions
This commit is contained in:
@@ -82,7 +82,7 @@ public class ModpackFactory
|
||||
}
|
||||
else if (action.SourceType == SourceType.Modrinth)
|
||||
{
|
||||
var res = await modrinth.Version.GetProjectVersionListAsync(action.SourceName);
|
||||
var res = await modrinth.Version.GetProjectVersionListAsync(action.SourceName, gameVersions: GetGameVersionForModrinth(gameVersion), loaders: GetModLoaderForModrinth(modLoader));
|
||||
return res.Select(v => new KeyValuePair<string, string>($"{v.VersionNumber} {v.ProjectVersionType} {v.Name}", v.Id)).ToArray();
|
||||
}
|
||||
|
||||
@@ -103,4 +103,26 @@ public class ModpackFactory
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
|
||||
private string[] GetModLoaderForModrinth(ModLoader modLoader)
|
||||
{
|
||||
return modLoader switch
|
||||
{
|
||||
ModLoader.Any => [],
|
||||
ModLoader.Forge => ["forge"],
|
||||
ModLoader.NeoForge => ["neoforge"],
|
||||
ModLoader.Fabric => ["fabric"],
|
||||
ModLoader.LiteLoader => ["liteloader"],
|
||||
ModLoader.Cauldron => ["cauldron"],
|
||||
ModLoader.Quilt => ["quilt"],
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
|
||||
private string[] GetGameVersionForModrinth(string? gameVersion)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(gameVersion) || gameVersion == "*")
|
||||
return [];
|
||||
return [gameVersion];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user