2
									
								
								src/main/resources/api/command.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								src/main/resources/api/command.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					module.exports = require('./mserver').command;
 | 
				
			||||||
							
								
								
									
										2
									
								
								src/main/resources/api/event.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								src/main/resources/api/event.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					module.exports = require('./mserver').event;
 | 
				
			||||||
							
								
								
									
										13
									
								
								src/main/resources/api/mserver.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								src/main/resources/api/mserver.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					function impl(name) {
 | 
				
			||||||
 | 
					    return require('../internal/' + DetectServerType + '/' + name);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = {
 | 
				
			||||||
 | 
					    command: impl('command'),
 | 
				
			||||||
 | 
					    event: impl('event'),
 | 
				
			||||||
 | 
					    permission: impl('permission'),
 | 
				
			||||||
 | 
					    plugin: impl('plugin'),
 | 
				
			||||||
 | 
					    server: impl('server'),
 | 
				
			||||||
 | 
					    task: impl('task')
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -1 +1,2 @@
 | 
				
			|||||||
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
module.exports = require('./mserver').permission;
 | 
					module.exports = require('./mserver').permission;
 | 
				
			||||||
							
								
								
									
										2
									
								
								src/main/resources/api/plugin.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								src/main/resources/api/plugin.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					module.exports = require('./mserver').plugin;
 | 
				
			||||||
							
								
								
									
										2
									
								
								src/main/resources/api/server.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								src/main/resources/api/server.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					module.exports = require('./mserver').server;
 | 
				
			||||||
							
								
								
									
										2
									
								
								src/main/resources/api/task.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								src/main/resources/api/task.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					module.exports = require('./mserver').task;
 | 
				
			||||||
@@ -39,11 +39,15 @@ var disable;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        var classLoader = java.lang.Thread.currentThread().getContextClassLoader();
 | 
					        var classLoader = java.lang.Thread.currentThread().getContextClassLoader();
 | 
				
			||||||
        var url = classLoader.getResource("plugin.yml");
 | 
					        var url = classLoader.getResource("plugin.yml");
 | 
				
			||||||
        if (url === null) { return; }
 | 
					        if (url === null) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        var upath = url.getFile().substring(url.getFile().indexOf("/") + 1);
 | 
					        var upath = url.getFile().substring(url.getFile().indexOf("/") + 1);
 | 
				
			||||||
        var jarPath = java.net.URLDecoder.decode(upath.substring(0, upath.indexOf('!')));
 | 
					        var jarPath = java.net.URLDecoder.decode(upath.substring(0, upath.indexOf('!')));
 | 
				
			||||||
        if (!Files.exists(Paths.get(jarPath))) { jarPath = "/" + jarPath; }
 | 
					        if (!Files.exists(Paths.get(jarPath))) {
 | 
				
			||||||
 | 
					            jarPath = "/" + jarPath;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            var jar = new java.util.jar.JarFile(jarPath);
 | 
					            var jar = new java.util.jar.JarFile(jarPath);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,214 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * $Id: base64.js,v 2.15 2014/04/05 12:58:57 dankogai Exp dankogai $
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *  Licensed under the BSD 3-Clause License.
 | 
					 | 
				
			||||||
 *    http://opensource.org/licenses/BSD-3-Clause
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *  References:
 | 
					 | 
				
			||||||
 *    http://en.wikipedia.org/wiki/Base64
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(function(global) {
 | 
					 | 
				
			||||||
    'use strict';
 | 
					 | 
				
			||||||
    // existing version for noConflict()
 | 
					 | 
				
			||||||
    var _Base64 = global.Base64;
 | 
					 | 
				
			||||||
    var version = "2.3.2";
 | 
					 | 
				
			||||||
    // if node.js, we use Buffer
 | 
					 | 
				
			||||||
    var buffer;
 | 
					 | 
				
			||||||
    if (typeof module !== 'undefined' && module.exports) {
 | 
					 | 
				
			||||||
        try {
 | 
					 | 
				
			||||||
            buffer = require('buffer').Buffer;
 | 
					 | 
				
			||||||
        } catch (err) {}
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    // constants
 | 
					 | 
				
			||||||
    var b64chars
 | 
					 | 
				
			||||||
        = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
 | 
					 | 
				
			||||||
    var b64tab = function(bin) {
 | 
					 | 
				
			||||||
        var t = {};
 | 
					 | 
				
			||||||
        for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i;
 | 
					 | 
				
			||||||
        return t;
 | 
					 | 
				
			||||||
    }(b64chars);
 | 
					 | 
				
			||||||
    var fromCharCode = String.fromCharCode;
 | 
					 | 
				
			||||||
    // encoder stuff
 | 
					 | 
				
			||||||
    var cb_utob = function(c) {
 | 
					 | 
				
			||||||
        if (c.length < 2) {
 | 
					 | 
				
			||||||
            var cc = c.charCodeAt(0);
 | 
					 | 
				
			||||||
            return cc < 0x80 ? c
 | 
					 | 
				
			||||||
                : cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6))
 | 
					 | 
				
			||||||
                                + fromCharCode(0x80 | (cc & 0x3f)))
 | 
					 | 
				
			||||||
                : (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f))
 | 
					 | 
				
			||||||
                   + fromCharCode(0x80 | ((cc >>>  6) & 0x3f))
 | 
					 | 
				
			||||||
                   + fromCharCode(0x80 | ( cc         & 0x3f)));
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            var cc = 0x10000
 | 
					 | 
				
			||||||
                + (c.charCodeAt(0) - 0xD800) * 0x400
 | 
					 | 
				
			||||||
                + (c.charCodeAt(1) - 0xDC00);
 | 
					 | 
				
			||||||
            return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07))
 | 
					 | 
				
			||||||
                    + fromCharCode(0x80 | ((cc >>> 12) & 0x3f))
 | 
					 | 
				
			||||||
                    + fromCharCode(0x80 | ((cc >>>  6) & 0x3f))
 | 
					 | 
				
			||||||
                    + fromCharCode(0x80 | ( cc         & 0x3f)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
 | 
					 | 
				
			||||||
    var utob = function(u) {
 | 
					 | 
				
			||||||
        return u.replace(re_utob, cb_utob);
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var cb_encode = function(ccc) {
 | 
					 | 
				
			||||||
        var padlen = [0, 2, 1][ccc.length % 3],
 | 
					 | 
				
			||||||
        ord = ccc.charCodeAt(0) << 16
 | 
					 | 
				
			||||||
            | ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8)
 | 
					 | 
				
			||||||
            | ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)),
 | 
					 | 
				
			||||||
        chars = [
 | 
					 | 
				
			||||||
            b64chars.charAt( ord >>> 18),
 | 
					 | 
				
			||||||
            b64chars.charAt((ord >>> 12) & 63),
 | 
					 | 
				
			||||||
            padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),
 | 
					 | 
				
			||||||
            padlen >= 1 ? '=' : b64chars.charAt(ord & 63)
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
        return chars.join('');
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var btoa = global.btoa ? function(b) {
 | 
					 | 
				
			||||||
        return global.btoa(b);
 | 
					 | 
				
			||||||
    } : function(b) {
 | 
					 | 
				
			||||||
        return b.replace(/[\s\S]{1,3}/g, cb_encode);
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var _encode = buffer ?
 | 
					 | 
				
			||||||
        buffer.from && buffer.from !== Uint8Array.from ? function (u) {
 | 
					 | 
				
			||||||
            return (u.constructor === buffer.constructor ? u : buffer.from(u))
 | 
					 | 
				
			||||||
                .toString('base64')
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        :  function (u) {
 | 
					 | 
				
			||||||
            return (u.constructor === buffer.constructor ? u : new  buffer(u))
 | 
					 | 
				
			||||||
                .toString('base64')
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        : function (u) { return btoa(utob(u)) }
 | 
					 | 
				
			||||||
    ;
 | 
					 | 
				
			||||||
    var encode = function(u, urisafe) {
 | 
					 | 
				
			||||||
        return !urisafe
 | 
					 | 
				
			||||||
            ? _encode(String(u))
 | 
					 | 
				
			||||||
            : _encode(String(u)).replace(/[+\/]/g, function(m0) {
 | 
					 | 
				
			||||||
                return m0 == '+' ? '-' : '_';
 | 
					 | 
				
			||||||
            }).replace(/=/g, '');
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var encodeURI = function(u) { return encode(u, true) };
 | 
					 | 
				
			||||||
    // decoder stuff
 | 
					 | 
				
			||||||
    var re_btou = new RegExp([
 | 
					 | 
				
			||||||
        '[\xC0-\xDF][\x80-\xBF]',
 | 
					 | 
				
			||||||
        '[\xE0-\xEF][\x80-\xBF]{2}',
 | 
					 | 
				
			||||||
        '[\xF0-\xF7][\x80-\xBF]{3}'
 | 
					 | 
				
			||||||
    ].join('|'), 'g');
 | 
					 | 
				
			||||||
    var cb_btou = function(cccc) {
 | 
					 | 
				
			||||||
        switch(cccc.length) {
 | 
					 | 
				
			||||||
        case 4:
 | 
					 | 
				
			||||||
            var cp = ((0x07 & cccc.charCodeAt(0)) << 18)
 | 
					 | 
				
			||||||
                |    ((0x3f & cccc.charCodeAt(1)) << 12)
 | 
					 | 
				
			||||||
                |    ((0x3f & cccc.charCodeAt(2)) <<  6)
 | 
					 | 
				
			||||||
                |     (0x3f & cccc.charCodeAt(3)),
 | 
					 | 
				
			||||||
            offset = cp - 0x10000;
 | 
					 | 
				
			||||||
            return (fromCharCode((offset  >>> 10) + 0xD800)
 | 
					 | 
				
			||||||
                    + fromCharCode((offset & 0x3FF) + 0xDC00));
 | 
					 | 
				
			||||||
        case 3:
 | 
					 | 
				
			||||||
            return fromCharCode(
 | 
					 | 
				
			||||||
                ((0x0f & cccc.charCodeAt(0)) << 12)
 | 
					 | 
				
			||||||
                    | ((0x3f & cccc.charCodeAt(1)) << 6)
 | 
					 | 
				
			||||||
                    |  (0x3f & cccc.charCodeAt(2))
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
        default:
 | 
					 | 
				
			||||||
            return  fromCharCode(
 | 
					 | 
				
			||||||
                ((0x1f & cccc.charCodeAt(0)) << 6)
 | 
					 | 
				
			||||||
                    |  (0x3f & cccc.charCodeAt(1))
 | 
					 | 
				
			||||||
            );
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var btou = function(b) {
 | 
					 | 
				
			||||||
        return b.replace(re_btou, cb_btou);
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var cb_decode = function(cccc) {
 | 
					 | 
				
			||||||
        var len = cccc.length,
 | 
					 | 
				
			||||||
        padlen = len % 4,
 | 
					 | 
				
			||||||
        n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0)
 | 
					 | 
				
			||||||
            | (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0)
 | 
					 | 
				
			||||||
            | (len > 2 ? b64tab[cccc.charAt(2)] <<  6 : 0)
 | 
					 | 
				
			||||||
            | (len > 3 ? b64tab[cccc.charAt(3)]       : 0),
 | 
					 | 
				
			||||||
        chars = [
 | 
					 | 
				
			||||||
            fromCharCode( n >>> 16),
 | 
					 | 
				
			||||||
            fromCharCode((n >>>  8) & 0xff),
 | 
					 | 
				
			||||||
            fromCharCode( n         & 0xff)
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
        chars.length -= [0, 0, 2, 1][padlen];
 | 
					 | 
				
			||||||
        return chars.join('');
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var atob = global.atob ? function(a) {
 | 
					 | 
				
			||||||
        return global.atob(a);
 | 
					 | 
				
			||||||
    } : function(a){
 | 
					 | 
				
			||||||
        return a.replace(/[\s\S]{1,4}/g, cb_decode);
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var _decode = buffer ?
 | 
					 | 
				
			||||||
        buffer.from && buffer.from !== Uint8Array.from ? function(a) {
 | 
					 | 
				
			||||||
            return (a.constructor === buffer.constructor
 | 
					 | 
				
			||||||
                    ? a : buffer.from(a, 'base64')).toString();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        : function(a) {
 | 
					 | 
				
			||||||
            return (a.constructor === buffer.constructor
 | 
					 | 
				
			||||||
                    ? a : new buffer(a, 'base64')).toString();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        : function(a) { return btou(atob(a)) };
 | 
					 | 
				
			||||||
    var decode = function(a){
 | 
					 | 
				
			||||||
        return _decode(
 | 
					 | 
				
			||||||
            String(a).replace(/[-_]/g, function(m0) { return m0 == '-' ? '+' : '/' })
 | 
					 | 
				
			||||||
                .replace(/[^A-Za-z0-9\+\/]/g, '')
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    var noConflict = function() {
 | 
					 | 
				
			||||||
        var Base64 = global.Base64;
 | 
					 | 
				
			||||||
        global.Base64 = _Base64;
 | 
					 | 
				
			||||||
        return Base64;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    // export Base64
 | 
					 | 
				
			||||||
    global.Base64 = {
 | 
					 | 
				
			||||||
        VERSION: version,
 | 
					 | 
				
			||||||
        atob: atob,
 | 
					 | 
				
			||||||
        btoa: btoa,
 | 
					 | 
				
			||||||
        fromBase64: decode,
 | 
					 | 
				
			||||||
        toBase64: encode,
 | 
					 | 
				
			||||||
        utob: utob,
 | 
					 | 
				
			||||||
        encode: encode,
 | 
					 | 
				
			||||||
        encodeURI: encodeURI,
 | 
					 | 
				
			||||||
        btou: btou,
 | 
					 | 
				
			||||||
        decode: decode,
 | 
					 | 
				
			||||||
        noConflict: noConflict
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    // if ES5 is available, make Base64.extendString() available
 | 
					 | 
				
			||||||
    if (typeof Object.defineProperty === 'function') {
 | 
					 | 
				
			||||||
        var noEnum = function(v){
 | 
					 | 
				
			||||||
            return {value:v,enumerable:false,writable:true,configurable:true};
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        global.Base64.extendString = function () {
 | 
					 | 
				
			||||||
            Object.defineProperty(
 | 
					 | 
				
			||||||
                String.prototype, 'fromBase64', noEnum(function () {
 | 
					 | 
				
			||||||
                    return decode(this)
 | 
					 | 
				
			||||||
                }));
 | 
					 | 
				
			||||||
            Object.defineProperty(
 | 
					 | 
				
			||||||
                String.prototype, 'toBase64', noEnum(function (urisafe) {
 | 
					 | 
				
			||||||
                    return encode(this, urisafe)
 | 
					 | 
				
			||||||
                }));
 | 
					 | 
				
			||||||
            Object.defineProperty(
 | 
					 | 
				
			||||||
                String.prototype, 'toBase64URI', noEnum(function () {
 | 
					 | 
				
			||||||
                    return encode(this, true)
 | 
					 | 
				
			||||||
                }));
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    // module.exports and AMD are mutually exclusive.
 | 
					 | 
				
			||||||
    // module.exports has precedence.
 | 
					 | 
				
			||||||
    if (typeof module !== 'undefined' && module.exports) {
 | 
					 | 
				
			||||||
        module.exports = global.Base64;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    else if (typeof define === 'function' && define.amd) {		
 | 
					 | 
				
			||||||
        // AMD. Register as an anonymous module.	
 | 
					 | 
				
			||||||
        define([], function(){ return global.Base64 });
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    // that's it!
 | 
					 | 
				
			||||||
})(   typeof self   !== 'undefined' ? self
 | 
					 | 
				
			||||||
    : typeof window !== 'undefined' ? window
 | 
					 | 
				
			||||||
    : typeof global !== 'undefined' ? global
 | 
					 | 
				
			||||||
    : this
 | 
					 | 
				
			||||||
);
 | 
					 | 
				
			||||||
@@ -6,7 +6,7 @@
 | 
				
			|||||||
    var Arrays = Java.type('java.util.Arrays');
 | 
					    var Arrays = Java.type('java.util.Arrays');
 | 
				
			||||||
    var Level = Java.type('java.util.logging.Level');
 | 
					    var Level = Java.type('java.util.logging.Level');
 | 
				
			||||||
    var Console = {
 | 
					    var Console = {
 | 
				
			||||||
        createNew: function(name) {
 | 
					        createNew: function (name) {
 | 
				
			||||||
            var console = {};
 | 
					            var console = {};
 | 
				
			||||||
            Object.defineProperty(console, 'name', {
 | 
					            Object.defineProperty(console, 'name', {
 | 
				
			||||||
                get: function () {
 | 
					                get: function () {
 | 
				
			||||||
@@ -46,10 +46,10 @@
 | 
				
			|||||||
                        this.console('    §e位于 §c%s.%s(§4%s:%s§c)'.format(stack.className, stack.methodName, stack.fileName, stack.lineNumber));
 | 
					                        this.console('    §e位于 §c%s.%s(§4%s:%s§c)'.format(stack.className, stack.methodName, stack.fileName, stack.lineNumber));
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }.bind(this));
 | 
					                }.bind(this));
 | 
				
			||||||
            }
 | 
					            };
 | 
				
			||||||
            return console;
 | 
					            return console;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
    var BukkitConsole = {
 | 
					    var BukkitConsole = {
 | 
				
			||||||
        createNew: function () {
 | 
					        createNew: function () {
 | 
				
			||||||
            var console = Console.createNew();
 | 
					            var console = Console.createNew();
 | 
				
			||||||
@@ -66,7 +66,7 @@
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
            return console;
 | 
					            return console;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
    var SpongeConsole = {
 | 
					    var SpongeConsole = {
 | 
				
			||||||
        createNew: function () {
 | 
					        createNew: function () {
 | 
				
			||||||
            var console = Console.createNew();
 | 
					            var console = Console.createNew();
 | 
				
			||||||
@@ -87,7 +87,7 @@
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
            return console;
 | 
					            return console;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
    switch (DetectServerType) {
 | 
					    switch (DetectServerType) {
 | 
				
			||||||
        case ServerType.Bukkit:
 | 
					        case ServerType.Bukkit:
 | 
				
			||||||
            global.Console = BukkitConsole;
 | 
					            global.Console = BukkitConsole;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@ var StandardCopyOption = Java.type("java.nio.file.StandardCopyOption");
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
exports.concat = function () {
 | 
					exports.concat = function () {
 | 
				
			||||||
    return Array.prototype.join.call(arguments, separatorChar);
 | 
					    return Array.prototype.join.call(arguments, separatorChar);
 | 
				
			||||||
}
 | 
					};
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 获得文件
 | 
					 * 获得文件
 | 
				
			||||||
 * @constructor(file)
 | 
					 * @constructor(file)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,8 @@ function init(root) {
 | 
				
			|||||||
 * 初始化核心
 | 
					 * 初始化核心
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
function loadCore() {
 | 
					function loadCore() {
 | 
				
			||||||
    global.noop = function () {};
 | 
					    global.noop = function () {
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
    // 加载基础模块
 | 
					    // 加载基础模块
 | 
				
			||||||
    load(root + '/core/ext.js');
 | 
					    load(root + '/core/ext.js');
 | 
				
			||||||
    // 探测服务器类型
 | 
					    // 探测服务器类型
 | 
				
			||||||
@@ -46,7 +47,7 @@ function loadPatch() {
 | 
				
			|||||||
 * 加载Bukkit的类库
 | 
					 * 加载Bukkit的类库
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
function loadServerLib() {
 | 
					function loadServerLib() {
 | 
				
			||||||
    var task = require('modules/task');
 | 
					    var task = require('api/task');
 | 
				
			||||||
    global.setTimeout = function (func, time, _async) {
 | 
					    global.setTimeout = function (func, time, _async) {
 | 
				
			||||||
        return _async ? task.laterAsync(func, time) : task.later(func, time);
 | 
					        return _async ? task.laterAsync(func, time) : task.later(func, time);
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -66,7 +67,7 @@ function loadServerLib() {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
function loadPlugins() {
 | 
					function loadPlugins() {
 | 
				
			||||||
    // 初始化本体插件
 | 
					    // 初始化本体插件
 | 
				
			||||||
    global.manager = require('modules/plugin');
 | 
					    global.manager = require('api/plugin');
 | 
				
			||||||
    if (manager) {
 | 
					    if (manager) {
 | 
				
			||||||
        manager.init('plugins');
 | 
					        manager.init('plugins');
 | 
				
			||||||
        // 只有当在正式环境运行的时候才加载
 | 
					        // 只有当在正式环境运行的时候才加载
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,15 +2,21 @@
 | 
				
			|||||||
 * 补丁和方法扩展
 | 
					 * 补丁和方法扩展
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(function(){
 | 
					(function () {
 | 
				
			||||||
    // Java格式化方法
 | 
					    // Java格式化方法
 | 
				
			||||||
    var str = Java.type('java.lang.String');
 | 
					    var str = Java.type('java.lang.String');
 | 
				
			||||||
    String.prototype.format = function(){ return str.format(this, Array.prototype.slice.call(arguments, 0))}
 | 
					    String.prototype.format = function () {
 | 
				
			||||||
 | 
					        return str.format(this, Array.prototype.slice.call(arguments, 0))
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // JSON快捷方法
 | 
					    // JSON快捷方法
 | 
				
			||||||
    Object.prototype.toJson = function(){ return JSON.stringify(this); }
 | 
					    Object.prototype.toJson = function () {
 | 
				
			||||||
 | 
					        return JSON.stringify(this);
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // YAML快速生成
 | 
					    // YAML快速生成
 | 
				
			||||||
    var yaml = require('modules/yaml');
 | 
					    var yaml = require('modules/yaml');
 | 
				
			||||||
    Object.prototype.toYaml = function(){ return yaml.safeDump(this); }
 | 
					    Object.prototype.toYaml = function () {
 | 
				
			||||||
 | 
					        return yaml.safeDump(this);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
})();
 | 
					})();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,27 @@
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * 符合 CommonJS 规范的 模块化加载
 | 
					 * 符合 CommonJS 规范的 类似 Node 的模块化加载
 | 
				
			||||||
 *
 | 
					 * 一. 注: MiaoScript 中 require.main 不存在
 | 
				
			||||||
 | 
					 * 二. 加载 require 流程 例如 在 dir 目录下 调用 require('xx');
 | 
				
			||||||
 | 
					 *   a) 加载流程
 | 
				
			||||||
 | 
					 *     1. 如果xx模块是一个內建模块
 | 
				
			||||||
 | 
					 *       a. 编译并返回该模块
 | 
				
			||||||
 | 
					 *       b. 停止执行
 | 
				
			||||||
 | 
					 *     2. 如果模块以 `./` `../` 开头
 | 
				
			||||||
 | 
					 *       a. 尝试使用 resolveAsFile(dir/xx) 加载文件
 | 
				
			||||||
 | 
					 *       b. 尝试使用 resolveAsDirectory(dir/xx) 加载目录
 | 
				
			||||||
 | 
					 *     3. 尝试去 root root/core root/modules 用方法2加载模块
 | 
				
			||||||
 | 
					 *     4. 抛出 not found 异常
 | 
				
			||||||
 | 
					 *   b) resolveAsFile 解析流程
 | 
				
			||||||
 | 
					 *     1. 如果 xx 是一个文件 则作为 `javascript` 文本加载 并停止执行
 | 
				
			||||||
 | 
					 *     2. 如果 xx.js 是一个文件 则作为 `javascript` 文本加载 并停止执行
 | 
				
			||||||
 | 
					 *     暂不支持 3. 如果 xx.json 是一个文件 则使用 `JSON.parse(xx.json)` 解析为对象加载 并停止执行
 | 
				
			||||||
 | 
					 *     暂不支持 4. 如果 xx.ms 是一个文件 则使用MScript解析器解析 并停止执行
 | 
				
			||||||
 | 
					 *   c) resolveAsDirectory 解析流程
 | 
				
			||||||
 | 
					 *     1. 如果 xx/package.json 存在 则使用 `JSON.parse(xx/package.json)` 解析并取得 main 字段使用 resolveAsFile(main) 加载
 | 
				
			||||||
 | 
					 *     2. 如果 xx/index.js 存在 则使用 resolveAsFile(xx/index.js) 加载
 | 
				
			||||||
 | 
					 *     暂不支持 3. 如果 xx/index.json 存在 则使用 `xx/index.json` 解析为对象加载 并停止执行
 | 
				
			||||||
 | 
					 *     暂不支持 4. 如果 xx/index.ms 是一个文件 则使用MScript解析器解析 并停止执行
 | 
				
			||||||
 | 
					 *   注: MiaoScript 暂不支持多层 modules 加载 暂时不需要(估计以后也不会需要)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
/*global Java, base*/
 | 
					/*global Java, base*/
 | 
				
			||||||
(function (parent) {
 | 
					(function (parent) {
 | 
				
			||||||
@@ -151,7 +172,7 @@
 | 
				
			|||||||
     * @private
 | 
					     * @private
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    function _require(name, path, optional) {
 | 
					    function _require(name, path, optional) {
 | 
				
			||||||
        var file = _canonical(name) ? name : resolve(name, path);
 | 
					        var file = name.isFile && name.isFile() ? name : resolve(name, path);
 | 
				
			||||||
        if (file === undefined) {
 | 
					        if (file === undefined) {
 | 
				
			||||||
            console.console("§c模块 §a%s §c加载失败! §4未找到该模块!".format(name));
 | 
					            console.console("§c模块 §a%s §c加载失败! §4未找到该模块!".format(name));
 | 
				
			||||||
            return {exports: {}};
 | 
					            return {exports: {}};
 | 
				
			||||||
@@ -181,9 +202,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    var cacheDir = parent + separatorChar + "runtime";
 | 
					    var cacheDir = parent + separatorChar + "runtime";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 等于 undefined 说明 parent 是一个字符串 需要转成File
 | 
					    // 判断是否存在 isFile 不存在说明 parent 是一个字符串 需要转成File
 | 
				
			||||||
    // 可能有更加准确的方案
 | 
					    if (parent.isFile) {
 | 
				
			||||||
    if (_canonical(parent) === undefined) {
 | 
					 | 
				
			||||||
        parent = new File(parent);
 | 
					        parent = new File(parent);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    var cacheModules = [];
 | 
					    var cacheModules = [];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*global Java, base, module, exports, require, __FILE__*/
 | 
					/*global Java, base, module, exports, require, __FILE__*/
 | 
				
			||||||
var ref = require('core/reflect');
 | 
					var ref = require('modules/reflect');
 | 
				
			||||||
var bukkit = require('./server');
 | 
					var bukkit = require('./server');
 | 
				
			||||||
var plugin = bukkit.plugin.self;
 | 
					var plugin = bukkit.plugin.self;
 | 
				
			||||||
var commandMap = ref.on(bukkit.plugin.manager).get('commandMap').get();
 | 
					var commandMap = ref.on(bukkit.plugin.manager).get('commandMap').get();
 | 
				
			||||||
@@ -8,10 +8,8 @@ var Bukkit = Java.type("org.bukkit.Bukkit");
 | 
				
			|||||||
var Listener = Java.type("org.bukkit.event.Listener");
 | 
					var Listener = Java.type("org.bukkit.event.Listener");
 | 
				
			||||||
var Modifier = Java.type("java.lang.reflect.Modifier");
 | 
					var Modifier = Java.type("java.lang.reflect.Modifier");
 | 
				
			||||||
var BukkitEvent = Java.type("org.bukkit.event.Event");
 | 
					var BukkitEvent = Java.type("org.bukkit.event.Event");
 | 
				
			||||||
var HandlerList = Java.type('org.bukkit.event.HandlerList');
 | 
					 | 
				
			||||||
var EventPriority = Java.type("org.bukkit.event.EventPriority");
 | 
					var EventPriority = Java.type("org.bukkit.event.EventPriority");
 | 
				
			||||||
var EventExecutor = Java.type("org.bukkit.plugin.EventExecutor");
 | 
					var EventExecutor = Java.type("org.bukkit.plugin.EventExecutor");
 | 
				
			||||||
var IllegalStateException = Java.type("java.lang.IllegalStateException");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
var plugin = require('./server').plugin.self;
 | 
					var plugin = require('./server').plugin.self;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -126,7 +124,7 @@ function listen(jsp, event, exec, priority, ignoreCancel) {
 | 
				
			|||||||
        plugin,
 | 
					        plugin,
 | 
				
			||||||
        ignoreCancel);
 | 
					        ignoreCancel);
 | 
				
			||||||
    // 添加到缓存 用于关闭插件的时候关闭事件
 | 
					    // 添加到缓存 用于关闭插件的时候关闭事件
 | 
				
			||||||
    if (!listenerMap[name]) listenerMap[name] = []
 | 
					    if (!listenerMap[name]) listenerMap[name] = [];
 | 
				
			||||||
    var listeners = listenerMap[name];
 | 
					    var listeners = listenerMap[name];
 | 
				
			||||||
    var off = {
 | 
					    var off = {
 | 
				
			||||||
        event: eventCls,
 | 
					        event: eventCls,
 | 
				
			||||||
@@ -135,7 +133,7 @@ function listen(jsp, event, exec, priority, ignoreCancel) {
 | 
				
			|||||||
            ref.on(this.event).call('getHandlerList').get().unregister(this.listener);
 | 
					            ref.on(this.event).call('getHandlerList').get().unregister(this.listener);
 | 
				
			||||||
            console.debug('插件 %s 注销事件 %s'.format(name, this.event.simpleName));
 | 
					            console.debug('插件 %s 注销事件 %s'.format(name, this.event.simpleName));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
    listeners.push(off);
 | 
					    listeners.push(off);
 | 
				
			||||||
    // noinspection JSUnresolvedVariable
 | 
					    // noinspection JSUnresolvedVariable
 | 
				
			||||||
    console.debug('插件 %s 注册事件 %s => %s'.format(name, eventCls.simpleName, exec.name === '' ? '匿名方法' : exec.name));
 | 
					    console.debug('插件 %s 注册事件 %s => %s'.format(name, eventCls.simpleName, exec.name === '' ? '匿名方法' : exec.name));
 | 
				
			||||||
@@ -13,7 +13,7 @@ var permission = require('./permission');
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 载入插件
 | 
					 * 载入插件
 | 
				
			||||||
 * @param path
 | 
					 * @param dir
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
function loadPlugins(dir) {
 | 
					function loadPlugins(dir) {
 | 
				
			||||||
    var plugin = fs.file(root, dir);
 | 
					    var plugin = fs.file(root, dir);
 | 
				
			||||||
@@ -6,7 +6,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*global Java, base, module, exports, require, __FILE__*/
 | 
					/*global Java, base, module, exports, require, __FILE__*/
 | 
				
			||||||
var Bukkit = MServer;
 | 
					var Bukkit = MServer;
 | 
				
			||||||
// noinspection JSUnresolvedVariable
 | 
					 | 
				
			||||||
var Server = Bukkit.server;
 | 
					var Server = Bukkit.server;
 | 
				
			||||||
var PluginManager = Server.pluginManager;
 | 
					var PluginManager = Server.pluginManager;
 | 
				
			||||||
exports.$ = Bukkit;
 | 
					exports.$ = Bukkit;
 | 
				
			||||||
@@ -6,7 +6,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/*global Java, base, module, exports, require, __FILE__*/
 | 
					/*global Java, base, module, exports, require, __FILE__*/
 | 
				
			||||||
var Sponge = MServer;
 | 
					var Sponge = MServer;
 | 
				
			||||||
// noinspection JSUnresolvedVariable
 | 
					 | 
				
			||||||
var Server = Sponge.server;
 | 
					var Server = Sponge.server;
 | 
				
			||||||
var PluginManager = Sponge.pluginManager;
 | 
					var PluginManager = Sponge.pluginManager;
 | 
				
			||||||
exports.$ = Sponge;
 | 
					exports.$ = Sponge;
 | 
				
			||||||
							
								
								
									
										225
									
								
								src/main/resources/modules/base64.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										225
									
								
								src/main/resources/modules/base64.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,225 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * $Id: base64.js,v 2.15 2014/04/05 12:58:57 dankogai Exp dankogai $
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  Licensed under the BSD 3-Clause License.
 | 
				
			||||||
 | 
					 *    http://opensource.org/licenses/BSD-3-Clause
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  References:
 | 
				
			||||||
 | 
					 *    http://en.wikipedia.org/wiki/Base64
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(function (global) {
 | 
				
			||||||
 | 
					    'use strict';
 | 
				
			||||||
 | 
					    // existing version for noConflict()
 | 
				
			||||||
 | 
					    var _Base64 = global.Base64;
 | 
				
			||||||
 | 
					    var version = "2.3.2";
 | 
				
			||||||
 | 
					    // if node.js, we use Buffer
 | 
				
			||||||
 | 
					    var buffer;
 | 
				
			||||||
 | 
					    if (typeof module !== 'undefined' && module.exports) {
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            buffer = require('buffer').Buffer;
 | 
				
			||||||
 | 
					        } catch (err) {
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    // constants
 | 
				
			||||||
 | 
					    var b64chars
 | 
				
			||||||
 | 
					        = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
 | 
				
			||||||
 | 
					    var b64tab = function (bin) {
 | 
				
			||||||
 | 
					        var t = {};
 | 
				
			||||||
 | 
					        for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i;
 | 
				
			||||||
 | 
					        return t;
 | 
				
			||||||
 | 
					    }(b64chars);
 | 
				
			||||||
 | 
					    var fromCharCode = String.fromCharCode;
 | 
				
			||||||
 | 
					    // encoder stuff
 | 
				
			||||||
 | 
					    var cb_utob = function (c) {
 | 
				
			||||||
 | 
					        if (c.length < 2) {
 | 
				
			||||||
 | 
					            var cc = c.charCodeAt(0);
 | 
				
			||||||
 | 
					            return cc < 0x80 ? c
 | 
				
			||||||
 | 
					                : cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6))
 | 
				
			||||||
 | 
					                    + fromCharCode(0x80 | (cc & 0x3f)))
 | 
				
			||||||
 | 
					                    : (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f))
 | 
				
			||||||
 | 
					                        + fromCharCode(0x80 | ((cc >>> 6) & 0x3f))
 | 
				
			||||||
 | 
					                        + fromCharCode(0x80 | ( cc & 0x3f)));
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            var ccc = 0x10000
 | 
				
			||||||
 | 
					                + (c.charCodeAt(0) - 0xD800) * 0x400
 | 
				
			||||||
 | 
					                + (c.charCodeAt(1) - 0xDC00);
 | 
				
			||||||
 | 
					            return (fromCharCode(0xf0 | ((ccc >>> 18) & 0x07))
 | 
				
			||||||
 | 
					                + fromCharCode(0x80 | ((ccc >>> 12) & 0x3f))
 | 
				
			||||||
 | 
					                + fromCharCode(0x80 | ((ccc >>> 6) & 0x3f))
 | 
				
			||||||
 | 
					                + fromCharCode(0x80 | ( ccc & 0x3f)));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
 | 
				
			||||||
 | 
					    var utob = function (u) {
 | 
				
			||||||
 | 
					        return u.replace(re_utob, cb_utob);
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var cb_encode = function (ccc) {
 | 
				
			||||||
 | 
					        var padlen = [0, 2, 1][ccc.length % 3],
 | 
				
			||||||
 | 
					            ord = ccc.charCodeAt(0) << 16
 | 
				
			||||||
 | 
					                | ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8)
 | 
				
			||||||
 | 
					                | ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)),
 | 
				
			||||||
 | 
					            chars = [
 | 
				
			||||||
 | 
					                b64chars.charAt(ord >>> 18),
 | 
				
			||||||
 | 
					                b64chars.charAt((ord >>> 12) & 63),
 | 
				
			||||||
 | 
					                padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),
 | 
				
			||||||
 | 
					                padlen >= 1 ? '=' : b64chars.charAt(ord & 63)
 | 
				
			||||||
 | 
					            ];
 | 
				
			||||||
 | 
					        return chars.join('');
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var btoa = global.btoa ? function (b) {
 | 
				
			||||||
 | 
					        return global.btoa(b);
 | 
				
			||||||
 | 
					    } : function (b) {
 | 
				
			||||||
 | 
					        return b.replace(/[\s\S]{1,3}/g, cb_encode);
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var _encode = buffer ?
 | 
				
			||||||
 | 
					        buffer.from && buffer.from !== Uint8Array.from ? function (u) {
 | 
				
			||||||
 | 
					                return (u.constructor === buffer.constructor ? u : buffer.from(u))
 | 
				
			||||||
 | 
					                    .toString('base64')
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            : function (u) {
 | 
				
			||||||
 | 
					                return (u.constructor === buffer.constructor ? u : new buffer(u))
 | 
				
			||||||
 | 
					                    .toString('base64')
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        : function (u) {
 | 
				
			||||||
 | 
					            return btoa(utob(u))
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    ;
 | 
				
			||||||
 | 
					    var encode = function (u, urisafe) {
 | 
				
			||||||
 | 
					        return !urisafe
 | 
				
			||||||
 | 
					            ? _encode(String(u))
 | 
				
			||||||
 | 
					            : _encode(String(u)).replace(/[+\/]/g, function (m0) {
 | 
				
			||||||
 | 
					                return m0 === '+' ? '-' : '_';
 | 
				
			||||||
 | 
					            }).replace(/=/g, '');
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var encodeURI = function (u) {
 | 
				
			||||||
 | 
					        return encode(u, true)
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    // decoder stuff
 | 
				
			||||||
 | 
					    var re_btou = new RegExp([
 | 
				
			||||||
 | 
					        '[\xC0-\xDF][\x80-\xBF]',
 | 
				
			||||||
 | 
					        '[\xE0-\xEF][\x80-\xBF]{2}',
 | 
				
			||||||
 | 
					        '[\xF0-\xF7][\x80-\xBF]{3}'
 | 
				
			||||||
 | 
					    ].join('|'), 'g');
 | 
				
			||||||
 | 
					    var cb_btou = function (cccc) {
 | 
				
			||||||
 | 
					        switch (cccc.length) {
 | 
				
			||||||
 | 
					            case 4:
 | 
				
			||||||
 | 
					                var cp = ((0x07 & cccc.charCodeAt(0)) << 18)
 | 
				
			||||||
 | 
					                    | ((0x3f & cccc.charCodeAt(1)) << 12)
 | 
				
			||||||
 | 
					                    | ((0x3f & cccc.charCodeAt(2)) << 6)
 | 
				
			||||||
 | 
					                    | (0x3f & cccc.charCodeAt(3)),
 | 
				
			||||||
 | 
					                    offset = cp - 0x10000;
 | 
				
			||||||
 | 
					                return (fromCharCode((offset >>> 10) + 0xD800)
 | 
				
			||||||
 | 
					                    + fromCharCode((offset & 0x3FF) + 0xDC00));
 | 
				
			||||||
 | 
					            case 3:
 | 
				
			||||||
 | 
					                return fromCharCode(
 | 
				
			||||||
 | 
					                ((0x0f & cccc.charCodeAt(0)) << 12)
 | 
				
			||||||
 | 
					                | ((0x3f & cccc.charCodeAt(1)) << 6)
 | 
				
			||||||
 | 
					                | (0x3f & cccc.charCodeAt(2))
 | 
				
			||||||
 | 
					                    );
 | 
				
			||||||
 | 
					            default:
 | 
				
			||||||
 | 
					                return fromCharCode(
 | 
				
			||||||
 | 
					                ((0x1f & cccc.charCodeAt(0)) << 6)
 | 
				
			||||||
 | 
					                | (0x3f & cccc.charCodeAt(1))
 | 
				
			||||||
 | 
					                    );
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var btou = function (b) {
 | 
				
			||||||
 | 
					        return b.replace(re_btou, cb_btou);
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var cb_decode = function (cccc) {
 | 
				
			||||||
 | 
					        var len = cccc.length,
 | 
				
			||||||
 | 
					            padlen = len % 4,
 | 
				
			||||||
 | 
					            n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0)
 | 
				
			||||||
 | 
					                | (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0)
 | 
				
			||||||
 | 
					                | (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0)
 | 
				
			||||||
 | 
					                | (len > 3 ? b64tab[cccc.charAt(3)] : 0),
 | 
				
			||||||
 | 
					            chars = [
 | 
				
			||||||
 | 
					                fromCharCode(n >>> 16),
 | 
				
			||||||
 | 
					                fromCharCode((n >>> 8) & 0xff),
 | 
				
			||||||
 | 
					                fromCharCode(n & 0xff)
 | 
				
			||||||
 | 
					            ];
 | 
				
			||||||
 | 
					        chars.length -= [0, 0, 2, 1][padlen];
 | 
				
			||||||
 | 
					        return chars.join('');
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var atob = global.atob ? function (a) {
 | 
				
			||||||
 | 
					        return global.atob(a);
 | 
				
			||||||
 | 
					    } : function (a) {
 | 
				
			||||||
 | 
					        return a.replace(/[\s\S]{1,4}/g, cb_decode);
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var _decode = buffer ?
 | 
				
			||||||
 | 
					        buffer.from && buffer.from !== Uint8Array.from ? function (a) {
 | 
				
			||||||
 | 
					                return (a.constructor === buffer.constructor
 | 
				
			||||||
 | 
					                    ? a : buffer.from(a, 'base64')).toString();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            : function (a) {
 | 
				
			||||||
 | 
					                return (a.constructor === buffer.constructor
 | 
				
			||||||
 | 
					                    ? a : new buffer(a, 'base64')).toString();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        : function (a) {
 | 
				
			||||||
 | 
					            return btou(atob(a))
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    var decode = function (a) {
 | 
				
			||||||
 | 
					        return _decode(
 | 
				
			||||||
 | 
					            String(a).replace(/[-_]/g, function (m0) {
 | 
				
			||||||
 | 
					                return m0 === '-' ? '+' : '/'
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					                .replace(/[^A-Za-z0-9+\/]/g, '')
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    var noConflict = function () {
 | 
				
			||||||
 | 
					        var Base64 = global.Base64;
 | 
				
			||||||
 | 
					        global.Base64 = _Base64;
 | 
				
			||||||
 | 
					        return Base64;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    // export Base64
 | 
				
			||||||
 | 
					    global.Base64 = {
 | 
				
			||||||
 | 
					        VERSION: version,
 | 
				
			||||||
 | 
					        atob: atob,
 | 
				
			||||||
 | 
					        btoa: btoa,
 | 
				
			||||||
 | 
					        fromBase64: decode,
 | 
				
			||||||
 | 
					        toBase64: encode,
 | 
				
			||||||
 | 
					        utob: utob,
 | 
				
			||||||
 | 
					        encode: encode,
 | 
				
			||||||
 | 
					        encodeURI: encodeURI,
 | 
				
			||||||
 | 
					        btou: btou,
 | 
				
			||||||
 | 
					        decode: decode,
 | 
				
			||||||
 | 
					        noConflict: noConflict
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    // if ES5 is available, make Base64.extendString() available
 | 
				
			||||||
 | 
					    if (typeof Object.defineProperty === 'function') {
 | 
				
			||||||
 | 
					        var noEnum = function (v) {
 | 
				
			||||||
 | 
					            return {value: v, enumerable: false, writable: true, configurable: true};
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        global.Base64.extendString = function () {
 | 
				
			||||||
 | 
					            Object.defineProperty(
 | 
				
			||||||
 | 
					                String.prototype, 'fromBase64', noEnum(function () {
 | 
				
			||||||
 | 
					                return decode(this)
 | 
				
			||||||
 | 
					            }));
 | 
				
			||||||
 | 
					            Object.defineProperty(
 | 
				
			||||||
 | 
					                String.prototype, 'toBase64', noEnum(function (urisafe) {
 | 
				
			||||||
 | 
					                return encode(this, urisafe)
 | 
				
			||||||
 | 
					            }));
 | 
				
			||||||
 | 
					            Object.defineProperty(
 | 
				
			||||||
 | 
					                String.prototype, 'toBase64URI', noEnum(function () {
 | 
				
			||||||
 | 
					                return encode(this, true)
 | 
				
			||||||
 | 
					            }));
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    // module.exports and AMD are mutually exclusive.
 | 
				
			||||||
 | 
					    // module.exports has precedence.
 | 
				
			||||||
 | 
					    if (typeof module !== 'undefined' && module.exports) {
 | 
				
			||||||
 | 
					        module.exports = global.Base64;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else if (typeof define === 'function' && define.amd) {
 | 
				
			||||||
 | 
					        // AMD. Register as an anonymous module.	
 | 
				
			||||||
 | 
					        define([], function () {
 | 
				
			||||||
 | 
					            return global.Base64
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    // that's it!
 | 
				
			||||||
 | 
					})(typeof self !== 'undefined' ? self
 | 
				
			||||||
 | 
					    : typeof window !== 'undefined' ? window
 | 
				
			||||||
 | 
					        : typeof global !== 'undefined' ? global
 | 
				
			||||||
 | 
					            : this
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
@@ -1,19 +0,0 @@
 | 
				
			|||||||
var BukkitConsole = {
 | 
					 | 
				
			||||||
    createNew: function () {
 | 
					 | 
				
			||||||
        var console = Console.createNew();
 | 
					 | 
				
			||||||
        console.sender = function () {
 | 
					 | 
				
			||||||
            var sender = arguments[0];
 | 
					 | 
				
			||||||
            if (!(sender instanceof org.bukkit.command.CommandSender)) {
 | 
					 | 
				
			||||||
                this.error("第一个参数未实现 org.bukkit.command.CommandSender 无法发送消息!")
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            var args = Array.prototype.slice.call(arguments, 1);
 | 
					 | 
				
			||||||
            sender.sendMessage(console.prefix + args.join(' '));
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        console.console = function () {
 | 
					 | 
				
			||||||
            this.sender(MServer.consoleSender, Array.prototype.join.call(arguments, ' '));
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        return console;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
global.Console = BukkitConsole;
 | 
					 | 
				
			||||||
exports = global.Console;
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
module.exports = require('./mserver').command;
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
module.exports = require('./mserver').event;
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
module.exports = {
 | 
					 | 
				
			||||||
    command: require('./' + DetectServerType + '/command'),
 | 
					 | 
				
			||||||
    event: require('./' + DetectServerType + '/event'),
 | 
					 | 
				
			||||||
    permission: require('./' + DetectServerType + '/permission'),
 | 
					 | 
				
			||||||
    plugin: require('./' + DetectServerType + '/plugin'),
 | 
					 | 
				
			||||||
    server: require('./' + DetectServerType + '/server'),
 | 
					 | 
				
			||||||
    task: require('./' + DetectServerType + '/task')
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
module.exports = require('./mserver').plugin;
 | 
					 | 
				
			||||||
@@ -67,7 +67,7 @@ function Reflect(obj) {
 | 
				
			|||||||
            accessible(this.class.getDeclaredField(name)).set(this.obj, value);
 | 
					            accessible(this.class.getDeclaredField(name)).set(this.obj, value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return this;
 | 
					        return this;
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.create = function () {
 | 
					    this.create = function () {
 | 
				
			||||||
        var param = Array.prototype.slice.call(arguments);
 | 
					        var param = Array.prototype.slice.call(arguments);
 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
module.exports = require('./mserver').server;
 | 
					 | 
				
			||||||
@@ -1,23 +0,0 @@
 | 
				
			|||||||
var SpongeConsole = {
 | 
					 | 
				
			||||||
    createNew: function () {
 | 
					 | 
				
			||||||
        var console = Console.createNew();
 | 
					 | 
				
			||||||
        console.sender = function () {
 | 
					 | 
				
			||||||
            var Text = Java.type("org.spongepowered.api.text.Text");
 | 
					 | 
				
			||||||
            var sender = arguments[0];
 | 
					 | 
				
			||||||
            if (!(sender instanceof org.spongepowered.api.command.CommandSource)) {
 | 
					 | 
				
			||||||
                this.error("第一个参数未实现 org.spongepowered.api.command.CommandSource 无法发送消息!")
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            var args = Array.prototype.slice.call(arguments, 1);
 | 
					 | 
				
			||||||
            sender.sendMessage(Text.of(console.prefix + args.join(' ')));
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        console.console = function () {
 | 
					 | 
				
			||||||
            this.sender(MServer.server.console, Array.prototype.join.call(arguments, ' '));
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        console.warn = function () {
 | 
					 | 
				
			||||||
            log.warn(this.name + Array.prototype.join.call(arguments, ' '));
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        return console;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
global.Console = SpongeConsole;
 | 
					 | 
				
			||||||
exports = global.Console;
 | 
					 | 
				
			||||||
@@ -1 +0,0 @@
 | 
				
			|||||||
module.exports = require('./mserver').task;
 | 
					 | 
				
			||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
/*global Java, base, module, exports, require, __FILE__*/
 | 
					/*global Java, base, module, exports, require, __FILE__*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var ZipFile = Java.type("java.util.zip.ZipFile");
 | 
					var ZipFile = Java.type("java.util.zip.ZipFile");
 | 
				
			||||||
var fs = require('fs');
 | 
					var fs = require('core/fs');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 解压文件
 | 
					 * 解压文件
 | 
				
			||||||
@@ -4,19 +4,19 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
/*global Java, base, module, exports, require*/
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var event = require('modules/event');
 | 
					var event = require('api/event');
 | 
				
			||||||
var command = require('modules/command');
 | 
					var command = require('api/command');
 | 
				
			||||||
var papi = require('./ext/papi');
 | 
					var papi = require('./ext/papi');
 | 
				
			||||||
var join;
 | 
					var join;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var description = {
 | 
					var description = {
 | 
				
			||||||
    name: 'HelloWorld',
 | 
					    name: 'HelloWorld',
 | 
				
			||||||
    version: '1.0',
 | 
					    version: '1.0',
 | 
				
			||||||
    //commands: {
 | 
					    commands: {
 | 
				
			||||||
    //    'hello': {
 | 
					        'hello': {
 | 
				
			||||||
    //        description: 'HelloWorld主命令'
 | 
					            description: 'HelloWorld主命令'
 | 
				
			||||||
    //    }
 | 
					        }
 | 
				
			||||||
    //}
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function load() {
 | 
					function load() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,13 +4,9 @@
 | 
				
			|||||||
 * 可兼容任何记分板
 | 
					 * 可兼容任何记分板
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
/*global Java, base, module, exports, require*/
 | 
					/*global Java, base, module, exports, require*/
 | 
				
			||||||
 | 
					var event = require('api/event');
 | 
				
			||||||
var fs = require('core/fs');
 | 
					var bukkit = require('api/server');
 | 
				
			||||||
var event = require('modules/event');
 | 
					var command = require('api/command');
 | 
				
			||||||
var bukkit = require('modules/server');
 | 
					 | 
				
			||||||
var command = require('modules/command');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var papi = require('./ext/papi');
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
var fakeTag;
 | 
					var fakeTag;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,7 +21,7 @@ var description = {
 | 
				
			|||||||
        'mtag': {
 | 
					        'mtag': {
 | 
				
			||||||
            description: 'MiaoTag主命令',
 | 
					            description: 'MiaoTag主命令',
 | 
				
			||||||
            usage: '',
 | 
					            usage: '',
 | 
				
			||||||
            permission: 'MiaoTag.admin',
 | 
					            permission: 'MiaoTag.admin'
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    permissions: {
 | 
					    permissions: {
 | 
				
			||||||
@@ -86,8 +82,6 @@ function disable() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
function FakeTag(name) {
 | 
					function FakeTag(name) {
 | 
				
			||||||
    // NMS CLASS
 | 
					    // NMS CLASS
 | 
				
			||||||
    var Scoreboard = bukkit.nmsCls('Scoreboard');
 | 
					 | 
				
			||||||
    var ScoreboardScore = bukkit.nmsCls('ScoreboardScore');
 | 
					 | 
				
			||||||
    var ScoreboardBaseCriteria = bukkit.nmsCls('ScoreboardBaseCriteria');
 | 
					    var ScoreboardBaseCriteria = bukkit.nmsCls('ScoreboardBaseCriteria');
 | 
				
			||||||
    var PacketPlayOutScoreboardScore = bukkit.nmsCls('PacketPlayOutScoreboardScore');
 | 
					    var PacketPlayOutScoreboardScore = bukkit.nmsCls('PacketPlayOutScoreboardScore');
 | 
				
			||||||
    var PacketPlayOutScoreboardObjective = bukkit.nmsCls('PacketPlayOutScoreboardObjective');
 | 
					    var PacketPlayOutScoreboardObjective = bukkit.nmsCls('PacketPlayOutScoreboardObjective');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
/*global Java, base, module, exports, require, __FILE__*/
 | 
					/*global Java, base, module, exports, require, __FILE__*/
 | 
				
			||||||
var PlaceholderAPI;
 | 
					var PlaceholderAPI;
 | 
				
			||||||
var bukkit = require('modules/server');
 | 
					var bukkit = require('api/server');
 | 
				
			||||||
if (bukkit.plugin.load("PlaceholderAPI")) {
 | 
					if (bukkit.plugin.load("PlaceholderAPI")) {
 | 
				
			||||||
    PlaceholderAPI = ext.getStatic("me.clip.placeholderapi.PlaceholderAPI");
 | 
					    PlaceholderAPI = ext.getStatic("me.clip.placeholderapi.PlaceholderAPI");
 | 
				
			||||||
} else {
 | 
					} else {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user