From 17e18c8c006f1e12c16705571e2859ba75fe7bed Mon Sep 17 00:00:00 2001 From: Daniel Scalzi Date: Sun, 19 Jan 2020 13:09:35 -0500 Subject: [PATCH] Include srg mappings as required library. (1.15 support). --- .../forge/adapter/forge113.resolver.ts | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/resolver/forge/adapter/forge113.resolver.ts b/src/resolver/forge/adapter/forge113.resolver.ts index bf0ff3f..0c4480e 100644 --- a/src/resolver/forge/adapter/forge113.resolver.ts +++ b/src/resolver/forge/adapter/forge113.resolver.ts @@ -81,7 +81,7 @@ export class Forge113Adapter extends ForgeResolver { const versionManifest = versionManifestTuple[0] as VersionManifest113 console.debug('Processing generated forge files.') - const forgeModule = await this.processForgeModule() + const forgeModule = await this.processForgeModule(versionManifest) // Attach version.json module. forgeModule.subModules?.unshift(versionManifestTuple[1] as Module) @@ -150,7 +150,7 @@ export class Forge113Adapter extends ForgeResolver { } - private async processForgeModule() { + private async processForgeModule(versionManifest: VersionManifest113) { const libDir = join(this.repoStructure.getWorkDirectory(), 'libraries') @@ -200,6 +200,17 @@ export class Forge113Adapter extends ForgeResolver { } ] + const mcpVersion = this.getMCPVersion(versionManifest.arguments.game) + if (mcpVersion != null) { + generatedFiles.push({ + name: 'client srg', + group: LibRepoStructure.MINECRAFT_GROUP, + artifact: LibRepoStructure.MINECRAFT_CLIENT_ARTIFACT, + version: `${this.minecraftVersion}-${mcpVersion}`, + classifier: 'srg' + }) + } + const mdls: Module[] = [] for (const entry of generatedFiles) { @@ -212,15 +223,11 @@ export class Forge113Adapter extends ForgeResolver { const exists = await pathExists(targetLocalPath) if (exists) { - // Always tag destination with artifact version. - // Allows different versions of forge to be installed at once. - // Ex. Recommended 1.15 on prod, latest 1.15 on test. - mdls.push({ id: MavenUtil.mavenComponentsToIdentifier( entry.group, entry.artifact, - this.artifactVersion, + entry.version, entry.classifier ), name: `Minecraft Forge (${entry.name})`, @@ -232,7 +239,7 @@ export class Forge113Adapter extends ForgeResolver { this.baseUrl, entry.group, entry.artifact, - entry.version, // work dir version + entry.version, entry.classifier ) ), @@ -242,7 +249,7 @@ export class Forge113Adapter extends ForgeResolver { const destination = this.repoStructure.getLibRepoStruct().getArtifactByComponents( entry.group, entry.artifact, - this.artifactVersion, + entry.version, entry.classifier ) @@ -310,4 +317,13 @@ export class Forge113Adapter extends ForgeResolver { }) } + private getMCPVersion(args: string[]) { + for (let i = 0; i < args.length; i++) { + if (args[i] === '--fml.mcpVersion') { + return args[i + 1] + } + } + return null + } + }