From 34d3310eae05c23c88aadd4577b450bca1ae3f49 Mon Sep 17 00:00:00 2001 From: Norbiros Date: Sat, 10 Aug 2024 22:45:49 +0200 Subject: [PATCH] fix(frontend): Correctly parse `neoforge.mods.toml` (#2139) --- apps/frontend/src/helpers/infer.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/apps/frontend/src/helpers/infer.js b/apps/frontend/src/helpers/infer.js index ff60c4720..406f7e917 100644 --- a/apps/frontend/src/helpers/infer.js +++ b/apps/frontend/src/helpers/infer.js @@ -102,19 +102,25 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions) return {}; } - const mcDependency = Object.values(metadata.dependencies) + const neoForgeDependency = Object.values(metadata.dependencies) .flat() - .find((dependency) => dependency.modId === "minecraft"); - if (!mcDependency) { + .find((dependency) => dependency.modId === "neoforge"); + if (!neoForgeDependency) { 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( - mcDependency.versionRange, + mcVersionRange, simplifiedGameVersions, ); - const versionNum = metadata.mods[0].version; + const versionNum = metadata.mods[0].version; return { name: `${project.title} ${versionNum}`, version_number: versionNum,