Wrap MinecraftVersion in its own object.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
export interface VersionManifest17 {
|
||||
export interface VersionManifestFG2 {
|
||||
|
||||
id: string
|
||||
time: string
|
||||
@@ -1,4 +1,4 @@
|
||||
export interface VersionManifest113 {
|
||||
export interface VersionManifestFG3 {
|
||||
|
||||
id: string
|
||||
time: string
|
||||
@@ -4,6 +4,7 @@ import { join } from 'path'
|
||||
import { resolve } from 'url'
|
||||
import { VersionSegmented } from '../../../../util/VersionSegmented'
|
||||
import { ModuleStructure } from './module.struct'
|
||||
import { MinecraftVersion } from '../../../../util/MinecraftVersion'
|
||||
|
||||
export abstract class BaseForgeModStructure extends ModuleStructure implements VersionSegmented {
|
||||
|
||||
@@ -15,7 +16,7 @@ export abstract class BaseForgeModStructure extends ModuleStructure implements V
|
||||
super(absoluteRoot, relativeRoot, 'forgemods', baseUrl, Type.ForgeMod)
|
||||
}
|
||||
|
||||
public abstract isForVersion(version: string): boolean
|
||||
public abstract isForVersion(version: MinecraftVersion): boolean
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
protected async getModuleUrl(name: string, path: string, stats: Stats): Promise<string> {
|
||||
|
||||
@@ -5,12 +5,13 @@ import { capitalize } from '../../../../../util/stringutils'
|
||||
import { VersionUtil } from '../../../../../util/versionutil'
|
||||
import { ModsToml } from '../../../../forge/modstoml'
|
||||
import { BaseForgeModStructure } from '../forgemod.struct'
|
||||
import { MinecraftVersion } from '../../../../../util/MinecraftVersion'
|
||||
|
||||
export class ForgeModStructure113 extends BaseForgeModStructure {
|
||||
|
||||
public static readonly IMPLEMENTATION_VERSION_REGEX = /^Implementation-Version: (.+)[\r\n]/
|
||||
|
||||
public static isForVersion(version: string): boolean {
|
||||
public static isForVersion(version: MinecraftVersion): boolean {
|
||||
return VersionUtil.isVersionAcceptable(version, [13, 14, 15])
|
||||
}
|
||||
|
||||
@@ -24,7 +25,7 @@ export class ForgeModStructure113 extends BaseForgeModStructure {
|
||||
super(absoluteRoot, relativeRoot, baseUrl)
|
||||
}
|
||||
|
||||
public isForVersion(version: string): boolean {
|
||||
public isForVersion(version: MinecraftVersion): boolean {
|
||||
return ForgeModStructure113.isForVersion(version)
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,11 @@ import { VersionUtil } from '../../../../../util/versionutil'
|
||||
import { McModInfo } from '../../../../forge/mcmodinfo'
|
||||
import { McModInfoList } from '../../../../forge/mcmodinfolist'
|
||||
import { BaseForgeModStructure } from '../forgemod.struct'
|
||||
import { MinecraftVersion } from '../../../../../util/MinecraftVersion'
|
||||
|
||||
export class ForgeModStructure17 extends BaseForgeModStructure {
|
||||
|
||||
public static isForVersion(version: string): boolean {
|
||||
public static isForVersion(version: MinecraftVersion): boolean {
|
||||
return VersionUtil.isVersionAcceptable(version, [7, 8, 9, 10, 11, 12])
|
||||
}
|
||||
|
||||
@@ -22,7 +23,7 @@ export class ForgeModStructure17 extends BaseForgeModStructure {
|
||||
super(absoluteRoot, relativeRoot, baseUrl)
|
||||
}
|
||||
|
||||
public isForVersion(version: string): boolean {
|
||||
public isForVersion(version: MinecraftVersion): boolean {
|
||||
return ForgeModStructure17.isForVersion(version)
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import { BaseModelStructure } from './basemodel.struct'
|
||||
import { MiscFileStructure } from './module/file.struct'
|
||||
import { LiteModStructure } from './module/litemod.struct'
|
||||
import { LibraryStructure } from './module/library.struct'
|
||||
import { MinecraftVersion } from '../../../util/MinecraftVersion'
|
||||
|
||||
export class ServerStructure extends BaseModelStructure<Server> {
|
||||
|
||||
@@ -29,7 +30,7 @@ export class ServerStructure extends BaseModelStructure<Server> {
|
||||
|
||||
public async createServer(
|
||||
id: string,
|
||||
minecraftVersion: string,
|
||||
minecraftVersion: MinecraftVersion,
|
||||
options: {
|
||||
forgeVersion?: string
|
||||
liteloaderVersion?: string
|
||||
@@ -107,7 +108,7 @@ export class ServerStructure extends BaseModelStructure<Server> {
|
||||
|
||||
// Read server meta
|
||||
const serverMeta: ServerMeta = JSON.parse(await readFile(resolvePath(absoluteServerRoot, 'servermeta.json'), 'utf-8'))
|
||||
const minecraftVersion = match[2]
|
||||
const minecraftVersion = new MinecraftVersion(match[2])
|
||||
|
||||
const forgeResolver = VersionSegmentedRegistry.getForgeResolver(
|
||||
minecraftVersion,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { join } from 'path'
|
||||
import { resolve as resolveURL } from 'url'
|
||||
import { BaseFileStructure } from '../BaseFileStructure'
|
||||
import { MinecraftVersion } from '../../../util/MinecraftVersion'
|
||||
|
||||
export class VersionRepoStructure extends BaseFileStructure {
|
||||
|
||||
@@ -11,16 +12,16 @@ export class VersionRepoStructure extends BaseFileStructure {
|
||||
super(absoluteRoot, relativeRoot, 'versions')
|
||||
}
|
||||
|
||||
public getFileName(minecraftVersion: string, forgeVersion: string): string {
|
||||
public getFileName(minecraftVersion: MinecraftVersion, forgeVersion: string): string {
|
||||
return `${minecraftVersion}-forge-${forgeVersion}`
|
||||
}
|
||||
|
||||
public getVersionManifest(minecraftVersion: string, forgeVersion: string): string {
|
||||
public getVersionManifest(minecraftVersion: MinecraftVersion, forgeVersion: string): string {
|
||||
const fileName = this.getFileName(minecraftVersion, forgeVersion)
|
||||
return join(this.containerDirectory, fileName, `${fileName}.json`)
|
||||
}
|
||||
|
||||
public getVersionManifestURL(url: string, minecraftVersion: string, forgeVersion: string): string {
|
||||
public getVersionManifestURL(url: string, minecraftVersion: MinecraftVersion, forgeVersion: string): string {
|
||||
const fileName = this.getFileName(minecraftVersion, forgeVersion)
|
||||
return resolveURL(url, join(this.relativeRoot, fileName, `${fileName}.json`))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user