You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-t, --type <JarFile | Manifest> read type is jarFile or manifest
-i, --input <path> path to the input
-o, --output <path> path to the output
-v, --version <string> game version
-l, --loader <forge | fabric | neoforge> mod loader platform
-k, --apiKey <text> api key
-f, --forceDownload force download
-h, --help display help for command
Secondary development
If you need to do secondary development, use the following command:
Installation
Using npm
npm install --save minecraft-mod-updater
Example
import{ModJarFileUpdater,ModManifestUpdater,typeModInfo,typeModUpdateStatus,ErrorEnum,typeErrorType,typeParameter}from'minecraft-mod-updater';import{blueBright,greenBright,magentaBright,redBright,yellowBright}from'chalk';// Manifest Modefunctionmanifest(input: string,forceDownload: boolean): void{if(existsSync(input)){constmodUpdater: ModManifestUpdater=newModManifestUpdater(input,{
output,
apiKey,
forceDownload
});modUpdater.addEventListener<ModInfo>(EventEnum.DOWNLOADING,(mod: ModInfo): void=>info(`${magentaBright('Downloading:')}${blueBright(mod.fileName)} {(${yellowBright(mod.modId)}) [${redBright(mod.fileID)} => ${greenBright(mod.id)}]} -> ${blueBright(mod.downloadUrl)}`));modUpdater.addEventListener<ModInfo>(EventEnum.DOWNLOADED,(mod: ModInfo): void=>info(`${greenBright('The download is complete')}: ${blueBright(mod.fileName)}\n`));modUpdater.addEventListener<ModInfo>(EventEnum.SKIPPED,(mod: ModInfo): void=>warn(`${greenBright('Already the latest version, the update has been skipped')}: ${blueBright(mod.fileName)} (${yellowBright(mod.modId)} [${greenBright(mod.fileID)} == ${greenBright(mod.id)}]) \n`));modUpdater.addEventListener<ModUpdateStatus>(EventEnum.FINISHED,(mod: ModUpdateStatus): void=>info(mod,'\n',greenBright('The update is complete')));modUpdater.addEventListener<ErrorType<ModInfo>>(EventEnum.ERRORED,({ type, mod }: ErrorType<ModInfo>): void=>{switch(type){caseErrorEnum.ADDRESS:
error(`${redBright('=====Error: Unable to get file address, please download it manually=====')}\nMod ID: ${yellowBright(mod.modId)}\nThe name of the mod file: ${magentaBright(mod.fileName)}\n`);break;caseErrorEnum.DOWNLOAD:
error(`${redBright('=====Error: Unable to download the file, please download it manually=====')}\nMod ID: ${yellowBright(mod.modId)}\nThe name of the mod file: ${magentaBright(mod.fileName)}\n`);break;}});}else{error(redBright('The manifest.json file does not exist, please create it and try again alive to view the help with mcmu -h'));}}// JarFile ModefunctionjarFile(input: string): void{constdirPath: string=input.includes('json') ? resolve('./mods'): input;if(existsSync(dirPath)){if(!version){error(redBright('The version is not specified, please specify it and try again alive to view the help with mcmu -h'));return;}if(!loader){error(redBright('The modLoader is not specified, please specify it and try again alive to view the help with mcmu -h'));return;}ModJarFileUpdater.fakeModManifestFile.minecraft.version=version;ModJarFileUpdater.fakeModManifestFile.minecraft.modLoaders.push({'id': loader,'primary': true});constmodJarFileUpdater: ModJarFileUpdater=newModJarFileUpdater(dirPath);modJarFileUpdater.addEventListener(EventNameEnum.INIT,(mod: ModInfo): void=>info(`${magentaBright('Init:')}${blueBright(mod.fileName)} (${yellowBright(mod.modId)})`));modJarFileUpdater.addEventListener(EventNameEnum.FINISHED,(): void=>{manifest(join(resolve('.'),'./temp.json'),true);});}else{error(redBright('The mods dir does not exist, please create it and try again alive to view the help with mcmu -h'));}}switch(type){case'Manifest':
manifest(input,forceDownload);break;case'JarFile':
jarFile(input);break;default:
error(redBright('The read type is incorrect, please try again alive to view the help with mcmu -h'));}