list only relevant modrinth versions
This commit is contained in:
@@ -82,7 +82,7 @@ public class ModpackFactory
|
|||||||
}
|
}
|
||||||
else if (action.SourceType == SourceType.Modrinth)
|
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();
|
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,
|
_ => 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