MiaoScript/src/main/resources/modules/papi.js

50 lines
1.4 KiB
JavaScript

'use strict';
/**
* PAPI扩展类
*/
/*global Java, base, module, exports, require, __FILE__*/
var PlaceholderAPI;
var server = require('api/server');
PlaceholderAPI = {
setPlaceholders: function () {
return arguments[1].replace(/&([1-9a-fA-F])/, '§$1');
}
};
// 尝试加载 Bukkit 的 PlaceholderAPI
try {
PlaceholderAPI = ext.getStatic("me.clip.placeholderapi.PlaceholderAPI");
console.log('[PAPI] Found Bukkit PlaceholderAPI Hooking...')
} catch (ex) {
}
// 尝试加载 Sponge 的 PlaceholderAPI
try {
/** @namespace server.service */
var spongePapi = server.service.get('me.rojo8399.placeholderapi.PlaceholderService');
var TextSerializers = Java.type('org.spongepowered.api.text.serializer.TextSerializers');
var s = TextSerializers.formattingCode('§');
if (spongePapi) {
PlaceholderAPI = {
setPlaceholders: function () {
return s.serialize(spongePapi.replacePlaceholders(arguments[1], arguments[0], arguments[0]));
}
};
console.log('[PAPI] Found Sponge PlaceholderAPI Hooking...')
}
} catch (ex) {
}
function replace() {
if (arguments.length > 1) {
return PlaceholderAPI.setPlaceholders(arguments[0], arguments[1]);
} else {
return PlaceholderAPI.setPlaceholders(null, arguments[0]);
}
}
exports = module.exports = {
$: replace
};