Add NeoForge to infer (#1443)
* Add NeoForge inferring * Add check for if below 1.20.2
This commit is contained in:
parent
b453e2cf1a
commit
d6ba3f3adf
@ -95,7 +95,7 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
|
||||
.map((it) => it.version)
|
||||
|
||||
const inferFunctions = {
|
||||
// Forge 1.13+
|
||||
// Forge 1.13+ and NeoForge
|
||||
'META-INF/mods.toml': async (file, zip) => {
|
||||
const metadata = TOML.parse(file, { joiner: '\n' })
|
||||
|
||||
@ -122,6 +122,7 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
|
||||
const mcDependencies = Object.values(metadata.dependencies)
|
||||
.flat()
|
||||
.filter((dependency) => dependency.modId === 'minecraft')
|
||||
|
||||
if (mcDependencies.length > 0) {
|
||||
gameVersions = getGameVersionsMatchingMavenRange(
|
||||
mcDependencies[0].versionRange,
|
||||
@ -129,11 +130,31 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
|
||||
)
|
||||
}
|
||||
|
||||
const hasNeoForge =
|
||||
Object.values(metadata.dependencies)
|
||||
.flat()
|
||||
.filter((dependency) => dependency.modId === 'neoforge').length > 0
|
||||
|
||||
const hasForge =
|
||||
Object.values(metadata.dependencies)
|
||||
.flat()
|
||||
.filter((dependency) => dependency.modId === 'forge').length > 0
|
||||
|
||||
// Checks if game version is below 1.20.2 as NeoForge full split and id change was in 1.20.2
|
||||
const below1202 = getGameVersionsMatchingSemverRange('<=1.20.1', simplifiedGameVersions)
|
||||
|
||||
const isOlderThan1202 = below1202.some((r) => gameVersions.includes(r))
|
||||
|
||||
const loaders = []
|
||||
|
||||
if (hasNeoForge) loaders.push('neoforge')
|
||||
if (hasForge || isOlderThan1202) loaders.push('forge')
|
||||
|
||||
return {
|
||||
name: `${project.title} ${versionNum}`,
|
||||
version_number: versionNum,
|
||||
version_type: versionType(versionNum),
|
||||
loaders: ['forge'],
|
||||
loaders,
|
||||
game_versions: gameVersions,
|
||||
}
|
||||
} else {
|
||||
@ -250,6 +271,9 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
|
||||
if ('forge' in metadata.dependencies) {
|
||||
loaders.push('forge')
|
||||
}
|
||||
if ('neoforge' in metadata.dependencies) {
|
||||
loaders.push('neoforge')
|
||||
}
|
||||
if ('fabric-loader' in metadata.dependencies) {
|
||||
loaders.push('fabric')
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user