You've already forked AstralRinth
forked from didirus/AstralRinth
Add NeoForge to infer (#1443)
* Add NeoForge inferring * Add check for if below 1.20.2
This commit is contained in:
@@ -95,7 +95,7 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
|
|||||||
.map((it) => it.version)
|
.map((it) => it.version)
|
||||||
|
|
||||||
const inferFunctions = {
|
const inferFunctions = {
|
||||||
// Forge 1.13+
|
// Forge 1.13+ and NeoForge
|
||||||
'META-INF/mods.toml': async (file, zip) => {
|
'META-INF/mods.toml': async (file, zip) => {
|
||||||
const metadata = TOML.parse(file, { joiner: '\n' })
|
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)
|
const mcDependencies = Object.values(metadata.dependencies)
|
||||||
.flat()
|
.flat()
|
||||||
.filter((dependency) => dependency.modId === 'minecraft')
|
.filter((dependency) => dependency.modId === 'minecraft')
|
||||||
|
|
||||||
if (mcDependencies.length > 0) {
|
if (mcDependencies.length > 0) {
|
||||||
gameVersions = getGameVersionsMatchingMavenRange(
|
gameVersions = getGameVersionsMatchingMavenRange(
|
||||||
mcDependencies[0].versionRange,
|
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 {
|
return {
|
||||||
name: `${project.title} ${versionNum}`,
|
name: `${project.title} ${versionNum}`,
|
||||||
version_number: versionNum,
|
version_number: versionNum,
|
||||||
version_type: versionType(versionNum),
|
version_type: versionType(versionNum),
|
||||||
loaders: ['forge'],
|
loaders,
|
||||||
game_versions: gameVersions,
|
game_versions: gameVersions,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -250,6 +271,9 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
|
|||||||
if ('forge' in metadata.dependencies) {
|
if ('forge' in metadata.dependencies) {
|
||||||
loaders.push('forge')
|
loaders.push('forge')
|
||||||
}
|
}
|
||||||
|
if ('neoforge' in metadata.dependencies) {
|
||||||
|
loaders.push('neoforge')
|
||||||
|
}
|
||||||
if ('fabric-loader' in metadata.dependencies) {
|
if ('fabric-loader' in metadata.dependencies) {
|
||||||
loaders.push('fabric')
|
loaders.push('fabric')
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user