@ccms/api
Version:
MiaoScript api package
72 lines • 2.47 kB
TypeScript
export declare namespace event {
/**
* 事件监听优先级
*/
enum EventPriority {
LOWEST = "LOWEST",
LOW = "LOW",
NORMAL = "NORMAL",
HIGH = "HIGH",
HIGHEST = "HIGHEST",
MONITOR = "MONITOR"
}
abstract class Event {
EventPriority: typeof EventPriority;
private mapEvent;
private listenerMap;
private cacheSlowEventKey;
protected baseEventDir: string;
constructor(baseEventDir: string);
/**
* abstract event map function
* ig: org.bukkit.event.player.PlayerLoginEvent => playerloginevent
* org.spongepowered.api.event.game.GameRegistryEvent.Register => gameregistryevent$register
*/
mapEventName(): number;
getJarFile(resource: string, loader?: any): any;
class2Name(clazz: any): any;
name2Class(name: any, event: string): any;
/**
* 创建命令执行器
* @param name 插件名称
* @param exec 执行方法
* @param eventCls 事件类
* @returns
*/
createExecute(name: any, exec: any, eventCls: any): (...args: any[]) => number;
/**
* 添加事件监听
* @param plugin {any} 插件
* @param event {string} 事件名称
* @param exec {function} 事件执行器
* @param priority {string} [LOWEST,LOW,NORMAL,HIGH,HIGHEST,MONITOR] 优先级
* @param ignoreCancel 是否忽略已取消事件
*/
listen(plugin: any, event: string, exec: (event: any) => void, priority?: EventPriority, ignoreCancel?: boolean): () => void;
/**
* 关闭插件监听任务
* @param plugin 插件
*/
disable(plugin: any): void;
/**
* 判断
* @param clazz 事件类
*/
abstract isValidEvent(clazz: any): boolean;
/**
* 注册事件
* @param eventCls 事件类
* @param exec 执行器
* @param priority 优先级
* @param ignoreCancel 是否忽略已取消的事件
*/
abstract register(eventCls: any, exec: Function, priority: any, ignoreCancel: boolean): any;
/**
* 取消监听事件
* @param event 事件
* @param listener 监听器
*/
abstract unregister(event: any, listener: any): void;
}
}
//# sourceMappingURL=event.d.ts.map