feat: 新增PAPI代理类
This commit is contained in:
		
							
								
								
									
										46
									
								
								src/main/resources/modules/papi.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/main/resources/modules/papi.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
'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");
 | 
			
		||||
} catch (ex) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 尝试加载 Sponge 的 PlaceholderAPI
 | 
			
		||||
try {
 | 
			
		||||
    var spapi = server.service.get('me.rojo8399.placeholderapi.PlaceholderService');
 | 
			
		||||
    var TextSerializers = Java.type('org.spongepowered.api.text.serializer.TextSerializers');
 | 
			
		||||
    var s = TextSerializers.formattingCode('§');
 | 
			
		||||
    if (spapi) {
 | 
			
		||||
        PlaceholderAPI = {
 | 
			
		||||
            setPlaceholders: function () {
 | 
			
		||||
                return s.serialize(spapi.replacePlaceholders(arguments[1], arguments[0], arguments[0]));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
} 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
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user