feat: 调整初始化逻辑 添加core/ext加载路径
This commit is contained in:
parent
c28b2f93aa
commit
bc51852c46
7
pom.xml
7
pom.xml
@ -17,6 +17,9 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<resource>
|
<resource>
|
||||||
<directory>src/main/resources</directory>
|
<directory>src/main/resources</directory>
|
||||||
|
<excludes>
|
||||||
|
<exclude>plugins/**.js</exclude>
|
||||||
|
</excludes>
|
||||||
<filtering>true</filtering>
|
<filtering>true</filtering>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
@ -49,7 +52,7 @@
|
|||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<!--<plugin>
|
<plugin>
|
||||||
<groupId>com.github.wvengen</groupId>
|
<groupId>com.github.wvengen</groupId>
|
||||||
<artifactId>proguard-maven-plugin</artifactId>
|
<artifactId>proguard-maven-plugin</artifactId>
|
||||||
<version>2.0.13</version>
|
<version>2.0.13</version>
|
||||||
@ -71,7 +74,7 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>-->
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
<ciManagement>
|
<ciManagement>
|
||||||
|
@ -28,12 +28,6 @@ var disable;
|
|||||||
init(root);
|
init(root);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
} finally {
|
|
||||||
disable = function () {
|
|
||||||
if (disablePlugins && typeof(disablePlugins) === "function") {
|
|
||||||
disablePlugins();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,86 +2,104 @@
|
|||||||
var global = this;
|
var global = this;
|
||||||
/*global base*/
|
/*global base*/
|
||||||
|
|
||||||
// noinspection JSUnusedLocalSymbols
|
(function (global) {
|
||||||
function init(root) {
|
// noinspection JSUnusedLocalSymbols
|
||||||
global.root = root;
|
global.init = function init(root) {
|
||||||
global.noop = function () {};
|
global.root = root;
|
||||||
loadCore();
|
global.noop = function () {};
|
||||||
loadRequire();
|
loadCore();
|
||||||
loadPatch();
|
loadRequire();
|
||||||
loadServerLib();
|
try{
|
||||||
loadPlugins();
|
loadExt();
|
||||||
}
|
loadServerLib();
|
||||||
|
loadPlugins();
|
||||||
/**
|
} catch (ex) {
|
||||||
* 初始化核心
|
console.console("§4初始化插件基础系统库错误:§c", ex);
|
||||||
*/
|
console.ex(ex);
|
||||||
function loadCore() {
|
}
|
||||||
// 加载基础模块
|
|
||||||
load(root + '/core/ext.js');
|
|
||||||
// 探测服务器类型
|
|
||||||
load(root + '/core/detect.js');
|
|
||||||
// 加载Console
|
|
||||||
load(root + '/core/console.js');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化模块
|
|
||||||
*/
|
|
||||||
function loadRequire() {
|
|
||||||
// 初始化加载器
|
|
||||||
global.require = load(root + '/core/require.js')(root);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 加载补丁
|
|
||||||
*/
|
|
||||||
function loadPatch() {
|
|
||||||
// 加载补丁和扩展
|
|
||||||
load(root + '/core/patch.js');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 加载Bukkit的类库
|
|
||||||
*/
|
|
||||||
function loadServerLib() {
|
|
||||||
var task = require('api/task');
|
|
||||||
global.setTimeout = function (func, time, _async) {
|
|
||||||
return _async ? task.laterAsync(func, time) : task.later(func, time);
|
|
||||||
};
|
|
||||||
global.clearTimeout = function (task) {
|
|
||||||
task.cancel();
|
|
||||||
};
|
|
||||||
global.setInterval = function (func, time, _async) {
|
|
||||||
return _async ? task.timerAsync(func, time) : task.timer(func, time);
|
|
||||||
};
|
|
||||||
global.clearInterval = function (task) {
|
|
||||||
task.cancel();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 加载JS插件
|
|
||||||
*/
|
|
||||||
function loadPlugins() {
|
|
||||||
// 初始化本体插件
|
|
||||||
global.manager = require('api/plugin');
|
|
||||||
if (manager) {
|
|
||||||
manager.init('plugins');
|
|
||||||
// 只有当在正式环境运行的时候才加载
|
|
||||||
manager.load();
|
|
||||||
manager.enable();
|
|
||||||
} else {
|
|
||||||
console.console('§4当前服务器不支持使用MiaoScript插件系统!');
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// noinspection JSUnusedLocalSymbols
|
/**
|
||||||
/**
|
* 初始化核心
|
||||||
* 关闭插件Hook
|
*/
|
||||||
*/
|
function loadCore() {
|
||||||
function disablePlugins() {
|
// 加载基础模块
|
||||||
if (manager && manager.$) {
|
load(root + '/core/ext.js');
|
||||||
manager.disable();
|
// 探测服务器类型
|
||||||
|
load(root + '/core/detect.js');
|
||||||
|
// 加载Console
|
||||||
|
load(root + '/core/console.js');
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
* 初始化模块
|
||||||
|
*/
|
||||||
|
function loadRequire() {
|
||||||
|
// 初始化加载器
|
||||||
|
global.require = load(root + '/core/require.js')(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载补丁
|
||||||
|
*/
|
||||||
|
function loadExt() {
|
||||||
|
var fs = require('core/fs');
|
||||||
|
fs.list(fs.file(root, 'core/ext')).forEach(function (path) {
|
||||||
|
console.log('加载扩展类库', path);
|
||||||
|
try{
|
||||||
|
load(path.toFile());
|
||||||
|
} catch (ex) {
|
||||||
|
console.ex(ex);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 加载补丁和扩展
|
||||||
|
// load(root + '/core/patch.js');
|
||||||
|
// 加载underscore类库
|
||||||
|
// load('https://cdn.bootcss.com/underscore.js/1.8.3/underscore-min.js');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载Bukkit的类库
|
||||||
|
*/
|
||||||
|
function loadServerLib() {
|
||||||
|
var task = require('api/task');
|
||||||
|
global.setTimeout = function (func, time, _async) {
|
||||||
|
return _async ? task.laterAsync(func, time) : task.later(func, time);
|
||||||
|
};
|
||||||
|
global.clearTimeout = function (task) {
|
||||||
|
task.cancel();
|
||||||
|
};
|
||||||
|
global.setInterval = function (func, time, _async) {
|
||||||
|
return _async ? task.timerAsync(func, time) : task.timer(func, time);
|
||||||
|
};
|
||||||
|
global.clearInterval = function (task) {
|
||||||
|
task.cancel();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载JS插件
|
||||||
|
*/
|
||||||
|
function loadPlugins() {
|
||||||
|
// 初始化本体插件
|
||||||
|
global.manager = require('api/plugin');
|
||||||
|
if (global.manager) {
|
||||||
|
global.manager.init('plugins');
|
||||||
|
// 只有当在正式环境运行的时候才加载
|
||||||
|
global.manager.load();
|
||||||
|
global.manager.enable();
|
||||||
|
} else {
|
||||||
|
console.console('§4当前服务器不支持使用MiaoScript插件系统!');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// noinspection JSUnusedLocalSymbols
|
||||||
|
/**
|
||||||
|
* 关闭插件Hook
|
||||||
|
*/
|
||||||
|
global.disable = function disable() {
|
||||||
|
if (global.manager && global.manager.$) {
|
||||||
|
global.manager.disable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})(global);
|
Loading…
Reference in New Issue
Block a user