feat: update Autowired & support command alias
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
		@@ -138,6 +138,8 @@ export namespace event {
 | 
			
		||||
            // add to cache Be used for close plugin to close event
 | 
			
		||||
            if (!listenerMap[name]) listenerMap[name] = []
 | 
			
		||||
            var off = () => {
 | 
			
		||||
                if (off['offed']) return
 | 
			
		||||
                off['offed'] = true
 | 
			
		||||
                this.unregister(eventCls, listener)
 | 
			
		||||
                console.debug(i18n.translate("ms.api.event.unregister", { name, event: this.class2Name(eventCls), exec: executor }))
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
import { injectable } from '@ccms/container'
 | 
			
		||||
 | 
			
		||||
export namespace plugin {
 | 
			
		||||
    /**
 | 
			
		||||
     * MiaoScript Plugin
 | 
			
		||||
@@ -11,23 +13,20 @@ export namespace plugin {
 | 
			
		||||
     * Runtime Plugin Instance
 | 
			
		||||
     */
 | 
			
		||||
    export const PluginInstance = Symbol("PluginInstance")
 | 
			
		||||
    /**
 | 
			
		||||
     * MiaoScript Plugin Manager Symbol
 | 
			
		||||
     */
 | 
			
		||||
    export const PluginManager = Symbol("PluginManager")
 | 
			
		||||
    /**
 | 
			
		||||
     * MiaoScript Plugin Manager Interface
 | 
			
		||||
     */
 | 
			
		||||
    export interface PluginManager {
 | 
			
		||||
        scan(folder: string): void
 | 
			
		||||
        build(): void
 | 
			
		||||
        loadFromFile(file: string, scanner?: plugin.PluginScanner): Plugin
 | 
			
		||||
        load(...args: any[]): void
 | 
			
		||||
        enable(...args: any[]): void
 | 
			
		||||
        disable(...args: any[]): void
 | 
			
		||||
        reload(...args: any[]): void
 | 
			
		||||
        getPlugin(name: string): plugin.Plugin
 | 
			
		||||
        getPlugins(): Map<string, plugin.Plugin>
 | 
			
		||||
    @injectable()
 | 
			
		||||
    export abstract class PluginManager {
 | 
			
		||||
        abstract scan(folder: string): void
 | 
			
		||||
        abstract build(): void
 | 
			
		||||
        abstract loadFromFile(file: string, scanner?: plugin.PluginScanner): Plugin
 | 
			
		||||
        abstract load(...args: any[]): void
 | 
			
		||||
        abstract enable(...args: any[]): void
 | 
			
		||||
        abstract disable(...args: any[]): void
 | 
			
		||||
        abstract reload(...args: any[]): void
 | 
			
		||||
        abstract getPlugin(name: string): plugin.Plugin
 | 
			
		||||
        abstract getPlugins(): Map<string, plugin.Plugin>
 | 
			
		||||
    }
 | 
			
		||||
    export const PluginScanner = Symbol("PluginScanner")
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -22,19 +22,44 @@ export namespace server {
 | 
			
		||||
    /**
 | 
			
		||||
     * MiaoScript Server
 | 
			
		||||
     */
 | 
			
		||||
    @injectable()
 | 
			
		||||
    export abstract class Server {
 | 
			
		||||
        abstract getVersion(): string
 | 
			
		||||
        abstract getPlayer(name: string): any
 | 
			
		||||
        abstract getOnlinePlayers(): any[]
 | 
			
		||||
        abstract getConsoleSender(): any
 | 
			
		||||
        abstract getService(service: string): any
 | 
			
		||||
        abstract dispatchCommand(sender: string | any, command: string): boolean
 | 
			
		||||
        abstract dispatchConsoleCommand(command: string): boolean
 | 
			
		||||
        abstract getPluginsFolder(): string
 | 
			
		||||
        abstract getNativePluginManager(): NativePluginManager
 | 
			
		||||
        abstract getDedicatedServer?(): any
 | 
			
		||||
        abstract getNettyPipeline(): any
 | 
			
		||||
        abstract getRootLogger(): any
 | 
			
		||||
        getVersion(): string {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getPlayer(name: string): any {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getOnlinePlayers(): any[] {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getConsoleSender(): any {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getService(service: string): any {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        dispatchCommand(sender: string | any, command: string): boolean {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        dispatchConsoleCommand(command: string): boolean {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getPluginsFolder(): string {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getNativePluginManager(): NativePluginManager {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getDedicatedServer?(): any {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getNettyPipeline(): any {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getRootLogger(): any {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    @injectable()
 | 
			
		||||
    export class ServerChecker {
 | 
			
		||||
@@ -54,50 +79,15 @@ export namespace server {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    @injectable()
 | 
			
		||||
    export abstract class ReflectServer implements server.Server {
 | 
			
		||||
    export abstract class ReflectServer extends server.Server {
 | 
			
		||||
        protected pipeline: any
 | 
			
		||||
        protected rootLogger: any
 | 
			
		||||
 | 
			
		||||
        constructor() {
 | 
			
		||||
            super()
 | 
			
		||||
            this.reflect()
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        getVersion(): string {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getPlayer(name: string) {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getOnlinePlayers(): any[] {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getConsoleSender() {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getService(service: string) {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        dispatchCommand(sender: any, command: string): boolean {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        dispatchConsoleCommand(command: string): boolean {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getPluginsFolder(): string {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getNativePluginManager(): NativePluginManager {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getDedicatedServer() {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getNettyPipeline() {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        getRootLogger() {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        protected reflect() {
 | 
			
		||||
            try {
 | 
			
		||||
                let consoleServer = this.getDedicatedServer()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user