Add support for reading mods.toml file from 1.13+ forge mods.
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
import { Forge113Adapter } from './forge/adapter/forge113.resolver'
|
||||
import { Forge17Adapter } from './forge/adapter/forge17.resolver'
|
||||
import { ForgeResolver } from './forge/forge.resolver'
|
||||
|
||||
export class ResolverRegistry {
|
||||
|
||||
public static readonly FORGE_ADAPTER_IMPL = [
|
||||
Forge17Adapter,
|
||||
Forge113Adapter
|
||||
]
|
||||
|
||||
public static getForgeResolver(
|
||||
minecraftVersion: string,
|
||||
forgeVersion: string,
|
||||
absoluteRoot: string,
|
||||
relativeRoot: string,
|
||||
baseURL: string): ForgeResolver | undefined {
|
||||
for (const impl of ResolverRegistry.FORGE_ADAPTER_IMPL) {
|
||||
if (impl.isForVersion(minecraftVersion)) {
|
||||
return new impl(absoluteRoot, relativeRoot, baseURL, minecraftVersion, forgeVersion)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,16 +1,8 @@
|
||||
import { Module } from '../model/spec/module'
|
||||
import { VersionUtil } from '../util/versionutil'
|
||||
import { VersionSegmented } from '../util/VersionSegmented'
|
||||
import { Resolver } from './resolver'
|
||||
|
||||
export abstract class BaseResolver implements Resolver {
|
||||
|
||||
protected static isVersionAcceptable(version: string, acceptable: number[]): boolean {
|
||||
const versionComponents = VersionUtil.getMinecraftVersionComponents(version)
|
||||
if (versionComponents != null && versionComponents.major === 1) {
|
||||
return acceptable.find((element) => versionComponents.minor === element) != null
|
||||
}
|
||||
return false
|
||||
}
|
||||
export abstract class BaseResolver implements Resolver, VersionSegmented {
|
||||
|
||||
constructor(
|
||||
protected absoluteRoot: string,
|
||||
|
||||
@@ -8,12 +8,13 @@ import { ForgeRepoStructure } from '../../../model/struct/repo/forgerepo.struct'
|
||||
import { LibRepoStructure } from '../../../model/struct/repo/librepo.struct'
|
||||
import { JavaUtil } from '../../../util/javautil'
|
||||
import { MavenUtil } from '../../../util/maven'
|
||||
import { VersionUtil } from '../../../util/versionutil'
|
||||
import { ForgeResolver } from '../forge.resolver'
|
||||
|
||||
export class Forge113Adapter extends ForgeResolver {
|
||||
|
||||
public static isForVersion(version: string) {
|
||||
return Forge113Adapter.isVersionAcceptable(version, [13, 14, 15])
|
||||
return VersionUtil.isVersionAcceptable(version, [13, 14, 15])
|
||||
}
|
||||
|
||||
constructor(
|
||||
|
||||
@@ -8,12 +8,13 @@ import { Type } from '../../../model/spec/type'
|
||||
import { ForgeRepoStructure } from '../../../model/struct/repo/forgerepo.struct'
|
||||
import { MavenUtil } from '../../../util/maven'
|
||||
import { PackXZExtractWrapper } from '../../../util/PackXZExtractWrapper'
|
||||
import { VersionUtil } from '../../../util/versionutil'
|
||||
import { ForgeResolver } from '../forge.resolver'
|
||||
|
||||
export class Forge17Adapter extends ForgeResolver {
|
||||
|
||||
public static isForVersion(version: string) {
|
||||
return Forge17Adapter.isVersionAcceptable(version, [7, 8, 9, 10, 11, 12])
|
||||
return VersionUtil.isVersionAcceptable(version, [7, 8, 9, 10, 11, 12])
|
||||
}
|
||||
|
||||
constructor(
|
||||
|
||||
Reference in New Issue
Block a user