Skip to content

Commit

Permalink
minecraft-data的typings这里是错的
Browse files Browse the repository at this point in the history
  • Loading branch information
bangbang93 committed Jul 14, 2022
1 parent 0b6a43e commit faa72d9
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
7 changes: 3 additions & 4 deletions src/client.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
import is from '@sindresorhus/is'
import {createLogger} from 'bunyan'
import {createHash} from 'crypto'
import {EventEmitter, once} from 'events'
import got from 'got'
import {pick} from 'lodash'
import {createDeserializer, createSerializer, states, States} from 'minecraft-protocol'
import * as framing from 'minecraft-protocol/src/transforms/framing'
import {AddressInfo, connect, Socket} from 'net'
import {connect, Socket} from 'net'
import pTimeout from 'p-timeout'
import {Duplex} from 'stream'
import {Container} from 'typedi'
import {Backend} from './backend'
import {Config} from './config'
import {MinecraftData} from './minecraft-data'
import {ProxyServer} from './proxy-server'
import {getLoglevel} from './util'
import ms = require('ms')

export class Client extends EventEmitter {
Expand All @@ -30,7 +28,7 @@ export class Client extends EventEmitter {
private framer: Duplex = framing.createFramer()
private deserializer
private serializer
private logger = createLogger({name: 'client', level: getLoglevel()})
private logger = createLogger({name: 'client'})
private readonly config: Config
private _closed: boolean
private readonly minecraftData = Container.get(MinecraftData)
Expand All @@ -45,6 +43,7 @@ export class Client extends EventEmitter {
})
Object.assign(this.logger.fields, pick(socket, 'remoteAddress', 'remotePort'))
this.config = proxy.config
this.logger.level(this.config.loglevel)
}

public get closed(): boolean {
Expand Down
5 changes: 4 additions & 1 deletion src/config.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import {LogLevel} from 'bunyan'
import {plainToClass, Transform, Type} from 'class-transformer'
import {
IsArray, IsBoolean, IsInstance, IsInt, IsOptional, IsString, IsUrl, Max, Min, validate, ValidateIf, ValidateNested,
IsArray, IsBoolean, IsIn, IsInstance, IsInt, IsOptional, IsString, IsUrl, Max, Min, validate, ValidateIf,
ValidateNested,
} from 'class-validator'
import * as IPCIDR from 'ip-cidr'
import {castArray} from 'lodash'
Expand Down Expand Up @@ -61,6 +63,7 @@ export class Config {
@IsUrl({protocols: ['http', 'https']}) profileEndpoint = 'https://api.mojang.com/profiles/minecraft'
@IsOptional() @IsArray() @IsString({each: true}) plugins: string[] = []
@ValidateNested() message: Messages
@IsIn(['trace', 'debug', 'info', 'warn', 'error', 'fatal']) @IsOptional() loglevel: LogLevel = 'info'
}

export async function loadConfig(path: string): Promise<Config> {
Expand Down
10 changes: 8 additions & 2 deletions src/minecraft-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@ export class MinecraftData {
private logger = createLogger({name: 'minecraft-data'})

public protocolVersionToMcVersion(protocolVersion: number): string {
const res = preNettyVersionsByProtocolVersion.pc[protocolVersion]?.minecraftVersion
?? postNettyVersionsByProtocolVersion.pc[protocolVersion]?.minecraftVersion
const res = preNettyVersionsByProtocolVersion.pc[protocolVersion]
?? postNettyVersionsByProtocolVersion.pc[protocolVersion]
// minecraft-data的typings这里是错的,会返回数组
if (Array.isArray(res)) {
return res[0].minecraftVersion
} else {
return res.minecraftVersion
}
if (!res) {
this.logger.warn('unknown protocol version: %d', protocolVersion)
}
Expand Down
5 changes: 0 additions & 5 deletions src/util.ts

This file was deleted.

0 comments on commit faa72d9

Please sign in to comment.