fix(frontend): Correctly parse neoforge.mods.toml (#2139)

This commit is contained in:
Norbiros
2024-08-10 22:45:49 +02:00
committed by GitHub
parent f328eec26d
commit 34d3310eae

View File

@@ -102,19 +102,25 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
return {}; return {};
} }
const mcDependency = Object.values(metadata.dependencies) const neoForgeDependency = Object.values(metadata.dependencies)
.flat() .flat()
.find((dependency) => dependency.modId === "minecraft"); .find((dependency) => dependency.modId === "neoforge");
if (!mcDependency) { if (!neoForgeDependency) {
return {}; return {};
} }
// https://docs.neoforged.net/docs/gettingstarted/versioning/#neoforge
const mcVersionRange = neoForgeDependency.versionRange
.replace("-beta", "")
.replace(/(\d+)(?:\.(\d+))?(?:\.(\d+)?)?/g, (_match, major, minor) => {
return `1.${major}${minor ? "." + minor : ""}`;
});
const gameVersions = getGameVersionsMatchingMavenRange( const gameVersions = getGameVersionsMatchingMavenRange(
mcDependency.versionRange, mcVersionRange,
simplifiedGameVersions, simplifiedGameVersions,
); );
const versionNum = metadata.mods[0].version;
const versionNum = metadata.mods[0].version;
return { return {
name: `${project.title} ${versionNum}`, name: `${project.title} ${versionNum}`,
version_number: versionNum, version_number: versionNum,