feat: add plugin self method
This commit is contained in:
		@@ -51,7 +51,7 @@ export class PluginEventManager {
 | 
			
		||||
        listener.off = off
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private unregistryListener(pluginInstance: plugin.Plugin, listener: any = pluginInstance) {
 | 
			
		||||
    public unregistryListener(pluginInstance: plugin.Plugin, listener: any = pluginInstance) {
 | 
			
		||||
        if (listener && listener.off) {
 | 
			
		||||
            listener.off()
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,8 @@
 | 
			
		||||
import { server, MiaoScriptConsole, event, plugin } from "@ccms/api"
 | 
			
		||||
import { injectable, inject, postConstruct } from "@ccms/container"
 | 
			
		||||
import { server, MiaoScriptConsole, event, plugin, task, command } from "@ccms/api"
 | 
			
		||||
import { injectable, inject, postConstruct, Autowired } from "@ccms/container"
 | 
			
		||||
import { getPluginMetadata } from "./utils"
 | 
			
		||||
import { PluginEventManager } from "./event"
 | 
			
		||||
import { PluginCommandManager } from "./command"
 | 
			
		||||
 | 
			
		||||
const File = Java.type('java.io.File')
 | 
			
		||||
 | 
			
		||||
@@ -11,6 +13,12 @@ export namespace interfaces {
 | 
			
		||||
        public logger: MiaoScriptConsole
 | 
			
		||||
        @inject(server.Console)
 | 
			
		||||
        private Console: MiaoScriptConsole
 | 
			
		||||
        @Autowired()
 | 
			
		||||
        private taskManager: task.TaskManager
 | 
			
		||||
        @Autowired()
 | 
			
		||||
        private eventManager: PluginEventManager
 | 
			
		||||
        @Autowired()
 | 
			
		||||
        private commandManager: PluginCommandManager
 | 
			
		||||
 | 
			
		||||
        constructor() {
 | 
			
		||||
            this.description = getPluginMetadata(this)
 | 
			
		||||
@@ -28,10 +36,42 @@ export namespace interfaces {
 | 
			
		||||
            return dataFolder.getAbsolutePath()
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public registryCommand(executor: any) { }
 | 
			
		||||
        public unregistryCommand(executor: any) { }
 | 
			
		||||
        public registryListener(listener: any) { }
 | 
			
		||||
        public unregistryListener(listener: any) { }
 | 
			
		||||
        /**
 | 
			
		||||
         * 注册命令
 | 
			
		||||
         * @param executor 命令执行器
 | 
			
		||||
         */
 | 
			
		||||
        public registryCommand(executor: any) {
 | 
			
		||||
            this.commandManager.registryCommand(this, executor)
 | 
			
		||||
        }
 | 
			
		||||
        /**
 | 
			
		||||
         * 注销命令
 | 
			
		||||
         * @param executor 命令执行器
 | 
			
		||||
         */
 | 
			
		||||
        public unregistryCommand(executor: any) {
 | 
			
		||||
            this.commandManager.unregistryCommand(this, executor)
 | 
			
		||||
        }
 | 
			
		||||
        /**
 | 
			
		||||
         * 注册事件
 | 
			
		||||
         * @param listener 事件监听器
 | 
			
		||||
         */
 | 
			
		||||
        public registryListener(listener: any) {
 | 
			
		||||
            this.eventManager.registryListener(this, listener)
 | 
			
		||||
        }
 | 
			
		||||
        /**
 | 
			
		||||
         * 注销事件
 | 
			
		||||
         * @param listener 事件监听器
 | 
			
		||||
         */
 | 
			
		||||
        public unregistryListener(listener: any) {
 | 
			
		||||
            this.eventManager.unregistryListener(this, listener)
 | 
			
		||||
        }
 | 
			
		||||
        /**
 | 
			
		||||
         * 创建任务
 | 
			
		||||
         * @param func 任务内容
 | 
			
		||||
         * @returns 任务
 | 
			
		||||
         */
 | 
			
		||||
        public createTask(func: Function) {
 | 
			
		||||
            return this.taskManager.create(func, this)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public load() { }
 | 
			
		||||
        public enable() { }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user