File tree Expand file tree Collapse file tree 3 files changed +18
-7
lines changed Expand file tree Collapse file tree 3 files changed +18
-7
lines changed Original file line number Diff line number Diff line change @@ -59,6 +59,16 @@ Will output to standard output something in the form of:
5959
6060Entries are sorted by file upload date.
6161
62+ By default, mods for the Forge modloader will be fetched, but any other modloader can be fetched as follows:
63+
64+ ``` bash
65+ $ forge-update-generator cyclops-core NeoForge
66+ ```
67+
68+ ``` bash
69+ $ forge-update-generator cyclops-core Fabric
70+ ```
71+
6272### Experimental: Generate update file and fetch changelogs
6373
6474If you pass the ` -c ` option, changelogs will be fetched from their respective CurseForge page.
Original file line number Diff line number Diff line change @@ -8,10 +8,10 @@ import { ForgeUpdateJsonCreator } from '../lib/ForgeUpdateJsonCreator';
88
99// Process CLI args
1010const args = minimist ( process . argv . slice ( 2 ) ) ;
11- if ( args . help || args . _ . length !== 1 ) {
12- process . stdout . write ( `forge-update-generator Detects new Cyclops mod versions
11+ if ( args . help || ! ( args . _ . length === 1 || args . _ . length === 2 ) ) {
12+ process . stdout . write ( `forge-update-generator Detects new mod versions
1313Usage:
14- forge-update-generator modname
14+ forge-update-generator modname [modloader]
1515Options:
1616 -c if changelogs should be fetched from CurseForge via HTML scraping
1717 --help print this help message
@@ -20,12 +20,13 @@ Options:
2020}
2121
2222async function run ( ) : Promise < void > {
23+ const modLoader = args . _ [ 1 ] ;
2324 const dataCurseforge = await new CurseforgeLoader ( ) . load ( args . _ [ 0 ] ) ;
2425 const changelogLoader = args . c ? new CurseforgeChangelogLoader ( ) : new DeferredChangelogLoader ( ) ;
2526 if ( 'initialize' in changelogLoader ) {
2627 await changelogLoader . initialize ( ) ;
2728 }
28- const dataForge = await new ForgeUpdateJsonCreator ( changelogLoader ) . generate ( dataCurseforge ) ;
29+ const dataForge = await new ForgeUpdateJsonCreator ( changelogLoader ) . generate ( dataCurseforge , modLoader ) ;
2930 if ( 'deinitialize' in changelogLoader ) {
3031 await changelogLoader . deinitialize ( ) ;
3132 }
Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ export class ForgeUpdateJsonCreator {
1111 this . changelogLoader = changelogLoader ;
1212 }
1313
14- public async generate ( dataCurseforge : ICurseforgeData ) : Promise < IForgeUpdateData > {
14+ public async generate ( dataCurseforge : ICurseforgeData , modLoader ?: string ) : Promise < IForgeUpdateData > {
1515 const dataForge : IForgeUpdateData = {
1616 homepage : dataCurseforge . urls . curseforge ,
1717 promos : { } ,
@@ -21,9 +21,9 @@ export class ForgeUpdateJsonCreator {
2121 const latestMcVersions : Record < string , string > = { } ;
2222 const recommendedMcVersions : Record < string , string > = { } ;
2323 for ( const file of dataCurseforge . files ) {
24- if ( file . versions . includes ( 'Forge' ) ) {
24+ if ( file . versions . includes ( modLoader || 'Forge' ) ) {
2525 // Determine MC and mod version
26- const mcVersion = file . version ;
26+ const mcVersion : string = file . versions . find ( version => version . includes ( '.' ) ) ! ;
2727 const match = / - ( [ ^ - ] * ) \. j a r / u. exec ( file . name ) ;
2828 if ( ! match ) {
2929 continue ;
You can’t perform that action at this time.
0 commit comments