diff --git a/packages/plugins/src/MiaoScriptPackageManager.ts b/packages/plugins/src/MiaoScriptPackageManager.ts index 18d04be3..555120b8 100644 --- a/packages/plugins/src/MiaoScriptPackageManager.ts +++ b/packages/plugins/src/MiaoScriptPackageManager.ts @@ -79,7 +79,12 @@ export class MiaoScriptPackageManager extends interfaces.Plugin { main(sender: any, command: string, args: string[]) { let cmdKey = 'cmd' + args[0] - if (!this[cmdKey] || args[0] === 'help') { + if (!this[cmdKey]) { + this.logger.sender(sender, '§4未知的子命令: §c' + args[0]) + this.logger.sender(sender, '§6请执行 §b/' + command + ' §ahelp §6查看帮助!') + return; + } + if (args[0] === 'help') { this.logger.sender(sender, help); return; } @@ -87,6 +92,15 @@ export class MiaoScriptPackageManager extends interfaces.Plugin { this[cmdKey](sender, ...args); } + cmdload(sender: any, name: string) { + let pluginFile = fs.concat(__dirname + '', name); + if (!fs.exists(pluginFile)) { + this.logger.sender(sender, '§4插件 §c' + pluginFile + ' §4不存在!') + return; + } + this.pluginManager.loadFromFile(fs.file(pluginFile)); + } + cmdlist(sender: any, type: string = 'cloud') { if (type == "install") { this.i18n(sender, 'list.install.header') @@ -163,6 +177,7 @@ export class MiaoScriptPackageManager extends interfaces.Plugin { try { this.logger.sender(sender, '§6Reloading §3MiaoScript Engine...'); ScriptEngineContextHolder.disableEngine(); + Packages.java.lang.System.gc(); ScriptEngineContextHolder.enableEngine(); this.logger.sender(sender, '§3MiaoScript Engine §6Reload §aSuccessful...'); } catch (ex) {