@@ -44,12 +44,37 @@ export namespace command {
 | 
			
		||||
        protected setExecutor(plugin: plugin.Plugin, command: any, executor: Function) {
 | 
			
		||||
            return (sender: any, _: any, command: string, args: string[]) => {
 | 
			
		||||
                try {
 | 
			
		||||
                    return executor(sender, command, Java.from(args))
 | 
			
		||||
                    let time = Date.now()
 | 
			
		||||
                    let result = executor(sender, command, Java.from(args))
 | 
			
		||||
                    let cost = Date.now() - time
 | 
			
		||||
                    if (cost > global.ScriptSlowExecuteTime) {
 | 
			
		||||
                        console.i18n("ms.api.command.execute.slow", {
 | 
			
		||||
                            player: sender.name,
 | 
			
		||||
                            plugin: plugin.description.name,
 | 
			
		||||
                            command,
 | 
			
		||||
                            args: Java.from(args).join(' '),
 | 
			
		||||
                            cost
 | 
			
		||||
                        })
 | 
			
		||||
                    }
 | 
			
		||||
                    return result
 | 
			
		||||
                } catch (ex: any) {
 | 
			
		||||
                    console.i18n("ms.api.command.execute.error", { player: sender.name, plugin: plugin.description.name, command, args: Java.from(args).join(' '), ex })
 | 
			
		||||
                    console.i18n("ms.api.command.execute.error", {
 | 
			
		||||
                        player: sender.name,
 | 
			
		||||
                        plugin: plugin.description.name,
 | 
			
		||||
                        command,
 | 
			
		||||
                        args: Java.from(args).join(' '),
 | 
			
		||||
                        ex
 | 
			
		||||
                    })
 | 
			
		||||
                    console.ex(ex)
 | 
			
		||||
                    if (sender.name != 'CONSOLE') {
 | 
			
		||||
                        console.sender(sender, [i18n.translate("ms.api.command.execute.error", { player: sender.name, plugin: plugin.description.name, command, args: Java.from(args).join(' '), ex }), ...console.stack(ex)])
 | 
			
		||||
                        console.sender(sender, [i18n.translate("ms.api.command.execute.error", {
 | 
			
		||||
                            player: sender.name,
 | 
			
		||||
                            plugin: plugin.description.name,
 | 
			
		||||
                            command,
 | 
			
		||||
                            args: Java.from(args).join(' '),
 | 
			
		||||
                            ex
 | 
			
		||||
                        }),
 | 
			
		||||
                        ...console.stack(ex)])
 | 
			
		||||
                    }
 | 
			
		||||
                    return true
 | 
			
		||||
                }
 | 
			
		||||
@@ -58,13 +83,42 @@ export namespace command {
 | 
			
		||||
        protected setTabCompleter(plugin: plugin.Plugin, command: any, tabCompleter: Function) {
 | 
			
		||||
            return (sender: any, _: any, command: string, args: string[]) => {
 | 
			
		||||
                try {
 | 
			
		||||
                    let time = Date.now()
 | 
			
		||||
                    var token = args[args.length - 1]
 | 
			
		||||
                    var complete = tabCompleter(sender, command, Java.from(args)) || []
 | 
			
		||||
                    return this.copyPartialMatches(complete, token)
 | 
			
		||||
                    let result = this.copyPartialMatches(complete, token)
 | 
			
		||||
                    let cost = Date.now() - time
 | 
			
		||||
                    if (cost > global.ScriptSlowExecuteTime) {
 | 
			
		||||
                        console.i18n("ms.api.command.tab.completer.slow", {
 | 
			
		||||
                            player: sender.name,
 | 
			
		||||
                            plugin: plugin.description.name,
 | 
			
		||||
                            command,
 | 
			
		||||
                            args: Java.from(args).join(' '),
 | 
			
		||||
                            cost
 | 
			
		||||
                        })
 | 
			
		||||
                    }
 | 
			
		||||
                    return result
 | 
			
		||||
                } catch (ex: any) {
 | 
			
		||||
                    console.i18n("ms.api.command.tab.completer.error", { player: sender.name, plugin: plugin.description.name, command, args: Java.from(args).join(' '), ex })
 | 
			
		||||
                    console.i18n("ms.api.command.tab.completer.error", {
 | 
			
		||||
                        player: sender.name,
 | 
			
		||||
                        plugin: plugin.description.name,
 | 
			
		||||
                        command,
 | 
			
		||||
                        args: Java.from(args).join(' '),
 | 
			
		||||
                        ex
 | 
			
		||||
                    })
 | 
			
		||||
                    console.ex(ex)
 | 
			
		||||
                    console.sender(sender, [i18n.translate("ms.api.command.tab.completer.error", { player: sender.name, plugin: plugin.description.name, command, args: Java.from(args).join(' '), ex }), ...console.stack(ex)])
 | 
			
		||||
                    if (sender.name != 'CONSOLE') {
 | 
			
		||||
                        console.sender(sender, [
 | 
			
		||||
                            i18n.translate("ms.api.command.tab.completer.error", {
 | 
			
		||||
                                player: sender.name,
 | 
			
		||||
                                plugin: plugin.description.name,
 | 
			
		||||
                                command,
 | 
			
		||||
                                args: Java.from(args).join(' '),
 | 
			
		||||
                                ex
 | 
			
		||||
                            }),
 | 
			
		||||
                            ...console.stack(ex)
 | 
			
		||||
                        ])
 | 
			
		||||
                    }
 | 
			
		||||
                    return []
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -100,7 +100,7 @@ export namespace event {
 | 
			
		||||
                        let time = Date.now()
 | 
			
		||||
                        exec(event)
 | 
			
		||||
                        let cost = Date.now() - time
 | 
			
		||||
                        if (cost > 20) {
 | 
			
		||||
                        if (cost > global.ScriptSlowExecuteTime) {
 | 
			
		||||
                            console.i18n("ms.api.event.execute.slow", { name, event: this.class2Name(eventCls), cost })
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 
 | 
			
		||||
@@ -40,13 +40,13 @@ export namespace server {
 | 
			
		||||
        get(name: string): NativePlugin {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        load(name: string): boolean {
 | 
			
		||||
        enable(name: string): NativePlugin {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        unload(name: string): boolean {
 | 
			
		||||
        disable(name: string): NativePlugin {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        reload(name: string): boolean {
 | 
			
		||||
        reload(name: string): NativePlugin {
 | 
			
		||||
            throw new Error("Method not implemented.")
 | 
			
		||||
        }
 | 
			
		||||
        delete(name: string): boolean {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user