feat: MSPM异步处理命令
This commit is contained in:
		@@ -53,7 +53,31 @@ function load() {
 | 
			
		||||
function enable() {
 | 
			
		||||
    command.on(this, 'mpm', {
 | 
			
		||||
        cmd: function (sender, command, args) {
 | 
			
		||||
            if (args.length > 0) {
 | 
			
		||||
            task.async(function asyncCommand() {
 | 
			
		||||
                main(sender, command, args);
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
        tab: function (sender, command, args) {
 | 
			
		||||
            if (args.length === 1) return ['list', 'install', 'update', 'upgrade', 'reload', 'restart', 'run', 'help', 'create'];
 | 
			
		||||
            if (args.length > 1) {
 | 
			
		||||
                switch (args[0]) {
 | 
			
		||||
                    case "install":
 | 
			
		||||
                        return packageNameCache;
 | 
			
		||||
                    case "update":
 | 
			
		||||
                    case "upgrade":
 | 
			
		||||
                    case "reload":
 | 
			
		||||
                        return pluginCache;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function main(sender, command, args){
 | 
			
		||||
    if (!args[0] || args[1] === 'help') {
 | 
			
		||||
        sendHelp(sender);
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    switch (args[0]) {
 | 
			
		||||
        case "list":
 | 
			
		||||
            console.sender(sender, '§6当前 §bMiaoScriptPackageCenter §6中存在下列插件:');
 | 
			
		||||
@@ -111,7 +135,7 @@ function enable() {
 | 
			
		||||
            break;
 | 
			
		||||
        case "run":
 | 
			
		||||
            args.shift(1);
 | 
			
		||||
                        console.sender(sender, eval(args.join(' ')));
 | 
			
		||||
            console.sender(sender, eval(args.join(' ')) || '§4没有返回结果!');
 | 
			
		||||
            break;
 | 
			
		||||
        case "create":
 | 
			
		||||
            var name = args[1];
 | 
			
		||||
@@ -128,28 +152,10 @@ function enable() {
 | 
			
		||||
            fs.save(fs.file(__dirname, name + '.js'), result);
 | 
			
		||||
            console.sender(sender, '§6插件 §a' + name +  ' §6已生成到插件目录...');
 | 
			
		||||
            break;
 | 
			
		||||
                    case "help":
 | 
			
		||||
        default:
 | 
			
		||||
            sendHelp(sender);
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
            } else {
 | 
			
		||||
                sendHelp(sender);
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        tab: function (sender, command, args) {
 | 
			
		||||
            if (args.length === 1) return ['list', 'install', 'update', 'upgrade', 'reload', 'restart', 'run', 'help'];
 | 
			
		||||
            if (args.length > 1) {
 | 
			
		||||
                switch (args[0]) {
 | 
			
		||||
                    case "install":
 | 
			
		||||
                        return packageNameCache;
 | 
			
		||||
                    case "update":
 | 
			
		||||
                    case "upgrade":
 | 
			
		||||
                    case "reload":
 | 
			
		||||
                        return pluginCache;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function sendHelp(sender) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user