feat: 抽离plugin模块 根据不同的DetectServerType加载不同目录的js

This commit is contained in:
coding
2017-11-30 05:21:21 +00:00
parent 5ca2c2b02f
commit a4545051d1
3 changed files with 13 additions and 264 deletions

View File

@ -7,7 +7,7 @@
var fs = require('core/fs');
var yaml = require('modules/yaml');
var event = require('./event');
var bukkit = require('./server');
var server = require('./server');
var command = require('./command');
var permission = require('./permission');
@ -26,6 +26,9 @@ function loadPlugins(dir) {
fs.list(plugin).forEach(function (file) {
files.push(file.toFile());
});
fs.list(fs.file(plugin, DetectServerType)).forEach(function (file) {
files.push(file.toFile());
});
loadZipPlugins(files);
loadJsPlugins(files);
}
@ -64,7 +67,12 @@ function loadJsPlugins(files) {
files.filter(function (file) {
return file.name.endsWith(".js")
}).forEach(function (file) {
loadPlugin(file);
try {
loadPlugin(file);
} catch (ex) {
console.console('§6插件 §b%s §6初始化时发生错误 §4%s'.format(fs.path(file), ex.message));
console.ex(ex);
}
})
}
@ -226,13 +234,13 @@ function checkAndGet(args) {
var plugins = [];
exports.$ = server.plugin.self;
exports.plugins = plugins;
exports.init = function (path) {
var plugin = bukkit.plugin.self;
var plugin = exports.$
if (plugin !== null) {
// 如果过plugin不等于null 则代表是正式环境
exports.$ = plugin;
console.info("初始化 MiaoScript 插件系统 版本: %s".format(plugin.description.version));
console.info("初始化 MiaoScript 插件系统: %s".format(plugin));
}
loadPlugins(path);
};