diff --git a/src/resolver/forge/adapter/ForgeGradle3.resolver.ts b/src/resolver/forge/adapter/ForgeGradle3.resolver.ts index 14a01ce..718fc46 100644 --- a/src/resolver/forge/adapter/ForgeGradle3.resolver.ts +++ b/src/resolver/forge/adapter/ForgeGradle3.resolver.ts @@ -33,7 +33,7 @@ export class ForgeGradle3Adapter extends ForgeResolver { if(version.getMinor() === 12 && VersionUtil.isOneDotTwelveFG2(libraryVersion)) { return false } - return VersionUtil.isVersionAcceptable(version, [12, 13, 14, 15, 16, 17, 18, 19]) + return VersionUtil.isVersionAcceptable(version, [12, 13, 14, 15, 16, 17, 18, 19, 20]) } private generatedFiles: GeneratedFile[] | undefined @@ -57,7 +57,7 @@ export class ForgeGradle3Adapter extends ForgeResolver { const is117OrGreater = this.minecraftVersion.getMinor() >= 17 // Configure for 13, 14, 15, 16, 17, 18, 19 - if(VersionUtil.isVersionAcceptable(this.minecraftVersion, [13, 14, 15, 16, 17, 18, 19])) { + if(VersionUtil.isVersionAcceptable(this.minecraftVersion, [13, 14, 15, 16, 17, 18, 19, 20])) { // https://github.com/MinecraftForge/MinecraftForge/commit/97d4652f5fe15931b980117efabdff332f9f6428 const mcpUnifiedVersion = `${this.minecraftVersion}-${ForgeGradle3Adapter.WILDCARD_MCP_VERSION}` @@ -116,7 +116,7 @@ export class ForgeGradle3Adapter extends ForgeResolver { ) } - if(VersionUtil.isVersionAcceptable(this.minecraftVersion, [17, 18, 19])) { + if(VersionUtil.isVersionAcceptable(this.minecraftVersion, [17, 18, 19, 20])) { // Added in 1.17+ @@ -145,7 +145,7 @@ export class ForgeGradle3Adapter extends ForgeResolver { ) } - if (VersionUtil.isVersionAcceptable(this.minecraftVersion, [18, 19])) { + if (VersionUtil.isVersionAcceptable(this.minecraftVersion, [18, 19, 20])) { // Added in 1.18+ @@ -508,7 +508,6 @@ export class ForgeGradle3Adapter extends ForgeResolver { ) ) }) - const destination = libRepo.getArtifactByComponents( components.group, components.artifact, diff --git a/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts b/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts index 28c42dc..fdacbfe 100644 --- a/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts +++ b/src/structure/spec_model/module/forgemod/ForgeMod113.struct.ts @@ -13,7 +13,7 @@ export class ForgeModStructure113 extends BaseForgeModStructure { // eslint-disable-next-line @typescript-eslint/no-unused-vars public static isForVersion(version: MinecraftVersion, libraryVersion: string): boolean { - return VersionUtil.isVersionAcceptable(version, [13, 14, 15, 16, 17, 18, 19]) + return VersionUtil.isVersionAcceptable(version, [13, 14, 15, 16, 17, 18, 19, 20]) } private forgeModMetadata: {[property: string]: ModsToml | undefined} = {} diff --git a/src/util/MavenUtil.ts b/src/util/MavenUtil.ts index 24a633d..fb8c714 100644 --- a/src/util/MavenUtil.ts +++ b/src/util/MavenUtil.ts @@ -63,7 +63,7 @@ export class MavenUtil { public static mavenComponentsToString( group: string, artifact: string, version: string, classifier?: string, extension = 'jar' ): string { - return `${group.replace(/\./g, '/')}/${artifact}/${version}/${artifact}-${version}${classifier != null ? `-${classifier}` : ''}.${extension}` + return `${group.replace(/\./g, '/').replace(/:/g, '/')}/${artifact}/${version}/${artifact}-${version}${classifier != null ? `-${classifier}` : ''}.${extension}` } public static mavenIdentifierToUrl(id: string, extension = 'jar'): URL { diff --git a/src/util/MinecraftVersion.ts b/src/util/MinecraftVersion.ts index 4787214..3a1cef6 100644 --- a/src/util/MinecraftVersion.ts +++ b/src/util/MinecraftVersion.ts @@ -1,6 +1,6 @@ export class MinecraftVersion { - private static readonly MINECRAFT_VERSION_REGEX = /(\d+).(\d+).(\d+)/ + private static readonly MINECRAFT_VERSION_REGEX = /(\d+).(\d+).?(\d+)?/ private readonly major: number private readonly minor: number @@ -11,7 +11,7 @@ export class MinecraftVersion { if(res != null) { this.major = Number(res[1]) this.minor = Number(res[2]) - this.revision = Number(res[3]) + this.revision = Number(res[3]) ?? undefined } else { throw new Error(`${version} is not a valid minecraft version!`) } @@ -23,8 +23,8 @@ export class MinecraftVersion { public getMajor(): number { return this.major } public getMinor(): number { return this.minor } - public getRevision(): number { return this.revision } + public getRevision(): number|undefined { return this.revision } - public toString(): string { return `${this.major}.${this.minor}.${this.revision}`} + public toString(): string { return `${this.major}.${this.minor}${this.revision? '.'+this.revision:''}`} } \ No newline at end of file diff --git a/src/util/VersionUtil.ts b/src/util/VersionUtil.ts index 0bd809e..2570ab4 100644 --- a/src/util/VersionUtil.ts +++ b/src/util/VersionUtil.ts @@ -12,7 +12,7 @@ export class VersionUtil { 'latest' ] - public static readonly MINECRAFT_VERSION_REGEX = /(\d+).(\d+).(\d+)/ + public static readonly MINECRAFT_VERSION_REGEX = /(\d+).(\d+).?(\d+)?/ public static isVersionAcceptable(version: MinecraftVersion, acceptable: number[]): boolean { if (version.getMajor() === 1) {