Create default metadata if mcmod.info is malformed.
This commit is contained in:
@@ -73,16 +73,27 @@ export class ForgeModStructure extends ModuleStructure {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let createDefault = false
|
||||||
|
|
||||||
if (raw) {
|
if (raw) {
|
||||||
// Assuming the main mod will be the first entry in this file.
|
// Assuming the main mod will be the first entry in this file.
|
||||||
|
try {
|
||||||
const resolved = JSON.parse(raw) as object
|
const resolved = JSON.parse(raw) as object
|
||||||
if (resolved.hasOwnProperty('modListVersion')) {
|
if (resolved.hasOwnProperty('modListVersion')) {
|
||||||
this.forgeModMetadata[name] = (resolved as McModInfoList).modList[0]
|
this.forgeModMetadata[name] = (resolved as McModInfoList).modList[0]
|
||||||
} else {
|
} else {
|
||||||
this.forgeModMetadata[name] = (resolved as McModInfo[])[0]
|
this.forgeModMetadata[name] = (resolved as McModInfo[])[0]
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`ForgeMod ${name} contains an invalid mcmod.info file.`)
|
||||||
|
createDefault = true
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.error(`ForgeMod ${name} does not contain mcmod.info file.`)
|
console.error(`ForgeMod ${name} does not contain mcmod.info file.`)
|
||||||
|
createDefault = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (createDefault) {
|
||||||
this.forgeModMetadata[name] = ({
|
this.forgeModMetadata[name] = ({
|
||||||
modid: name.substring(0, name.lastIndexOf('.')).toLowerCase(),
|
modid: name.substring(0, name.lastIndexOf('.')).toLowerCase(),
|
||||||
name,
|
name,
|
||||||
|
|||||||
Reference in New Issue
Block a user