diff --git a/packages/api/src/plugin.ts b/packages/api/src/plugin.ts index 48a4984e..b1d4b3c3 100644 --- a/packages/api/src/plugin.ts +++ b/packages/api/src/plugin.ts @@ -155,7 +155,11 @@ export namespace plugin { */ cname?: string /** - * 插件等级 付费插件自动注入 + * 付费插件ID + */ + pid?: number + /** + * 付费插件等级 付费插件自动注入 */ level?: number /** diff --git a/packages/api/src/server.ts b/packages/api/src/server.ts index 60025b3f..1f1db0a2 100644 --- a/packages/api/src/server.ts +++ b/packages/api/src/server.ts @@ -172,13 +172,13 @@ export namespace server { } protected reflectRootLogger(consoleServer: any) { try { - this.rootLogger = reflect.on(consoleServer).get('LOGGER').get().parent + this.rootLogger = reflect.on(consoleServer).get('LOGGER').get() } catch (error: any) { if (global.debug) { console.ex(error) } try { - this.rootLogger = reflect.on(consoleServer).get(0).get().parent + this.rootLogger = reflect.on(consoleServer).get(0).get() } catch (error: any) { if (global.debug) { console.ex(error) diff --git a/packages/bukkit/src/internal/chat.ts b/packages/bukkit/src/internal/chat.ts index 05cbd7fd..3bfb6e40 100644 --- a/packages/bukkit/src/internal/chat.ts +++ b/packages/bukkit/src/internal/chat.ts @@ -6,7 +6,7 @@ let bukkitChatInvoke: BukkitChatInvoke abstract class BukkitChatInvoke { private downgrade: boolean = false protected RemapUtils: any - protected ComponentSerializer:any + protected ComponentSerializer: any protected ChatSerializer: any protected nmsChatSerializerMethodName: string @@ -39,6 +39,8 @@ abstract class BukkitChatInvoke { if (nmsChatMessageTypeClass.isEnum()) { this.chatMessageTypes = nmsChatMessageTypeClass.getEnumConstants() break + } else if (nmsChatMessageTypeClass.getName() == 'int') { + break } } } diff --git a/packages/common/src/reflect.ts b/packages/common/src/reflect.ts index 52d5905a..6dfc2c58 100644 --- a/packages/common/src/reflect.ts +++ b/packages/common/src/reflect.ts @@ -54,6 +54,7 @@ class Reflect { } } if (!field) throw new Error(`can't reflect field ${typeof nameOrIndex == "number" ? 'index' : 'name'} ${nameOrIndex} from ${this.class.getName()}!`) + fieldCache.set(key, field) return accessible(field) } diff --git a/packages/websocket/src/client/netty/index.ts b/packages/websocket/src/client/netty/index.ts index 9dc6474f..1a79595e 100644 --- a/packages/websocket/src/client/netty/index.ts +++ b/packages/websocket/src/client/netty/index.ts @@ -58,7 +58,7 @@ export class NettyWebSocket extends Transport { private _host: string private _port: number private channel: any - private b = new Bootstrap(); + private b: any constructor(url: string, subProtocol: string = '', headers: WebSocketHeader = {}) { super(url, subProtocol, headers) @@ -102,6 +102,7 @@ export class NettyWebSocket extends Transport { // HttpResponseDecoder to WebSocketHttpResponseDecoder in the pipeline. let handler = new WebSocketClientHandler(WebSocketClientHandshakerFactory .newHandshaker(uri, WebSocketVersion.V13, null, false, headers), this) + this.b = new Bootstrap() this.b.group(group) .channel(socketChannelClass) .handler(new ChannelInitializer({ @@ -123,18 +124,22 @@ export class NettyWebSocket extends Transport { } })) this.b.connect(this._host, this._port).addListener(new ChannelFutureListener((future: any) => { - this.channel = future.sync().channel() - this.onconnection({}) - handler.handshakeFuture.addListener(new ChannelFutureListener((future: any) => { - try { - future.sync() - // only trigger onconnect when not have error - this.onconnect({}) - } catch (error: any) { - // ignore error exceptionCaught from handler - // this.onerror({ error }) - } - })) + try { + this.channel = future.sync().channel() + this.onconnection({}) + handler.handshakeFuture.addListener(new ChannelFutureListener((future: any) => { + try { + future.sync() + // only trigger onconnect when not have error + this.onconnect({}) + } catch (error: any) { + // ignore error exceptionCaught from handler + // this.onerror({ error }) + } + })) + } catch (error: any) { + this.onerror({ error }) + } })) } doSend(text: string) {