From 3efef73121d7738b54331c61912e72ca762403df Mon Sep 17 00:00:00 2001 From: Daniel Scalzi Date: Sat, 18 Mar 2023 18:27:37 -0400 Subject: [PATCH] Assume zip means resourcepack. --- src/parser/CurseForgeParser.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/parser/CurseForgeParser.ts b/src/parser/CurseForgeParser.ts index 392bb0a..f8edd7c 100644 --- a/src/parser/CurseForgeParser.ts +++ b/src/parser/CurseForgeParser.ts @@ -100,10 +100,21 @@ export class CurseForgeParser { const modInfo = (await CurseForgeParser.cfClient.get(`mods/${file.projectID}/files/${file.fileID}`)).body 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 dir = isJar ? file.required ? requiredPath : optionalPath : createServerResult.miscFileContainer const fileWriterStream = createWriteStream(join(dir, modInfo.data.fileName)) await pipeline(downloadStream, fileWriterStream)