refactor: compatible commonjs loader
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
57
src/main/resources/node_modules/internal/sponge/event.js
generated
vendored
Normal file
57
src/main/resources/node_modules/internal/sponge/event.js
generated
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
'use strict';
|
||||
/**
|
||||
* Sponge 事件相关类
|
||||
*/
|
||||
/*global Java, base, module, exports, require, __FILE__*/
|
||||
var Modifier = Java.type("java.lang.reflect.Modifier");
|
||||
var Order = Java.type("org.spongepowered.api.event.Order");
|
||||
var Event = Java.type("org.spongepowered.api.event.Event");
|
||||
var EventListener = Java.type("org.spongepowered.api.event.EventListener");
|
||||
|
||||
var priorityMap = {
|
||||
'LOWEST': 'PRE',
|
||||
'LOW': 'FIRST',
|
||||
'NORMAL': 'DEFAULT',
|
||||
'HIGH': 'LATE',
|
||||
'HIGHEST': 'LAST',
|
||||
'MONITOR': 'POST'
|
||||
};
|
||||
|
||||
/**
|
||||
* 判断是否为一个有效的事件类
|
||||
* @param clz
|
||||
* @returns {*|boolean}
|
||||
*/
|
||||
function isValidEvent(clz) {
|
||||
// noinspection JSUnresolvedVariable 继承于 org.spongepowered.api.event.Event
|
||||
return Event.class.isAssignableFrom(clz) &&
|
||||
// 访问符为Public
|
||||
Modifier.isPublic(clz.getModifiers()) &&
|
||||
// Sponge的事件都是接口
|
||||
Modifier.isAbstract(clz.getModifiers());
|
||||
}
|
||||
|
||||
function class2Name(clazz) {
|
||||
return clazz.canonicalName.substring(clazz.name.lastIndexOf(".") + 1);
|
||||
}
|
||||
|
||||
function register(eventCls, exec, priority, ignoreCancel) {
|
||||
var listener = new EventListener({
|
||||
handle: exec
|
||||
});
|
||||
MServer.getEventManager().registerListener(this.plugin, eventCls, Order[priorityMap[priority]], listener);
|
||||
return listener;
|
||||
}
|
||||
|
||||
function unregister(event, listener) {
|
||||
MServer.getEventManager().unregisterListeners(listener);
|
||||
}
|
||||
|
||||
// noinspection JSUnusedGlobalSymbols
|
||||
exports = module.exports = {
|
||||
baseEventDir: 'org/spongepowered/api/event',
|
||||
isValidEvent: isValidEvent,
|
||||
class2Name: class2Name,
|
||||
register: register,
|
||||
unregister: unregister
|
||||
};
|
Reference in New Issue
Block a user