Assume zip means resourcepack.
This commit is contained in:
@@ -100,10 +100,21 @@ export class CurseForgeParser {
|
|||||||
const modInfo = (await CurseForgeParser.cfClient.get<CurseForgeModFileResponse>(`mods/${file.projectID}/files/${file.fileID}`)).body
|
const modInfo = (await CurseForgeParser.cfClient.get<CurseForgeModFileResponse>(`mods/${file.projectID}/files/${file.fileID}`)).body
|
||||||
log.debug(`Downloading ${modInfo.data.fileName}`)
|
log.debug(`Downloading ${modInfo.data.fileName}`)
|
||||||
|
|
||||||
const isJar = modInfo.data.fileName.toLowerCase().endsWith('jar')
|
let dir: string
|
||||||
|
const fileNameLower = modInfo.data.fileName.toLowerCase()
|
||||||
|
if(fileNameLower.endsWith('jar')) {
|
||||||
|
dir = file.required ? requiredPath : optionalPath
|
||||||
|
}
|
||||||
|
else if(fileNameLower.endsWith('zip')) {
|
||||||
|
// Assume it's a resource pack.
|
||||||
|
dir = join(createServerResult.miscFileContainer, 'resourcepacks')
|
||||||
|
await mkdirs(dir)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dir = createServerResult.miscFileContainer
|
||||||
|
}
|
||||||
|
|
||||||
const downloadStream = got.stream(modInfo.data.downloadUrl)
|
const downloadStream = got.stream(modInfo.data.downloadUrl)
|
||||||
const dir = isJar ? file.required ? requiredPath : optionalPath : createServerResult.miscFileContainer
|
|
||||||
const fileWriterStream = createWriteStream(join(dir, modInfo.data.fileName))
|
const fileWriterStream = createWriteStream(join(dir, modInfo.data.fileName))
|
||||||
|
|
||||||
await pipeline(downloadStream, fileWriterStream)
|
await pipeline(downloadStream, fileWriterStream)
|
||||||
|
|||||||
Reference in New Issue
Block a user