@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
67 lines (60 loc) • 11.1 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const fastJWT = require('fast-jwt');
const network_NetworkUtil = require('../NetworkUtil.cjs.cjs');
const utils_Device = require('../../utils/Device.cjs.cjs');
const utils_skin_Skin = require('../../utils/skin/Skin.cjs.cjs');
const network_Identifiers = require('../Identifiers.cjs.cjs');
const network_packet_DataPacket = require('./DataPacket.cjs.cjs');
const _interopDefault = e => e && e.__esModule ? e : { default: e };
const fastJWT__default = /*#__PURE__*/_interopDefault(fastJWT);
class LoginPacket extends network_packet_DataPacket.default {
static NetID = network_Identifiers.default.LoginPacket;
/**
* The client's xbox live ID.
*/
XUID;
identity;
/**
* The client's username.
*/
displayName;
protocol;
identityPublicKey;
clientRandomId;
serverAddress;
languageCode;
device;
skin;
decodePayload() {
this.protocol = this.readInt();
this.readUnsignedVarInt();
const chainData = JSON.parse(network_NetworkUtil.NetworkUtil.readLELengthASCIIString(this));
const decode = fastJWT__default.default.createDecoder();
for (const chain of chainData.chain) {
const decodedChain = decode(chain);
if (decodedChain.extraData) {
this.XUID = decodedChain.extraData.XUID;
this.identity = decodedChain.extraData.identity;
this.displayName = decodedChain.extraData.displayName;
}
this.identityPublicKey = decodedChain.identityPublicKey;
}
const decodedJWT = decode(network_NetworkUtil.NetworkUtil.readLELengthASCIIString(this));
this.skin = utils_skin_Skin.default.fromJWT(decodedJWT);
this.device = new utils_Device.default({
id: decodedJWT.DeviceId,
os: decodedJWT.DeviceOS,
model: decodedJWT.DeviceModel,
inputMode: decodedJWT.CurrentInputMode,
guiScale: decodedJWT.GuiScale
});
this.clientRandomId = decodedJWT.ClientRandomId;
this.serverAddress = decodedJWT.ServerAddress;
this.languageCode = decodedJWT.LanguageCode;
}
encodePayload() {
}
}
exports.default = LoginPacket;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5QYWNrZXQuY2pzLmNqcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25ldHdvcmsvcGFja2V0L0xvZ2luUGFja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmYXN0SldUIGZyb20gJ2Zhc3Qtand0JztcbmltcG9ydCB7IE5ldHdvcmtVdGlsIH0gZnJvbSAnLi4vLi4vbmV0d29yay9OZXR3b3JrVXRpbCc7XG5pbXBvcnQgRGV2aWNlIGZyb20gJy4uLy4uL3V0aWxzL0RldmljZSc7XG5pbXBvcnQgU2tpbiBmcm9tICcuLi8uLi91dGlscy9za2luL1NraW4nO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCBEYXRhUGFja2V0IGZyb20gJy4vRGF0YVBhY2tldCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvZ2luUGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLkxvZ2luUGFja2V0O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNsaWVudCdzIHhib3ggbGl2ZSBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgWFVJRCE6IHN0cmluZztcbiAgICBwdWJsaWMgaWRlbnRpdHkhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2xpZW50J3MgdXNlcm5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlOYW1lITogc3RyaW5nO1xuICAgIHB1YmxpYyBwcm90b2NvbCE6IG51bWJlcjtcbiAgICBwdWJsaWMgaWRlbnRpdHlQdWJsaWNLZXkhOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY2xpZW50UmFuZG9tSWQhOiBudW1iZXI7XG4gICAgcHVibGljIHNlcnZlckFkZHJlc3MhOiBzdHJpbmc7XG4gICAgcHVibGljIGxhbmd1YWdlQ29kZSE6IHN0cmluZztcblxuICAgIHB1YmxpYyBkZXZpY2UhOiBEZXZpY2U7XG4gICAgcHVibGljIHNraW4hOiBTa2luO1xuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvdG9jb2wgPSB0aGlzLnJlYWRJbnQoKTtcblxuICAgICAgICAvLyBUT0RPOiBjb250ZW50IGxlbmd0aCwgdG8gdmFsaWRhdGUgaXQncyBsZW5naHQuLi5cbiAgICAgICAgdGhpcy5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgY29uc3QgY2hhaW5EYXRhID0gSlNPTi5wYXJzZShOZXR3b3JrVXRpbC5yZWFkTEVMZW5ndGhBU0NJSVN0cmluZyh0aGlzKSkgYXMgYW55O1xuICAgICAgICBjb25zdCBkZWNvZGUgPSBmYXN0SldULmNyZWF0ZURlY29kZXIoKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGNoYWluIG9mIGNoYWluRGF0YS5jaGFpbikge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZENoYWluID0gZGVjb2RlKGNoYWluKTtcblxuICAgICAgICAgICAgaWYgKGRlY29kZWRDaGFpbi5leHRyYURhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLlhVSUQgPSBkZWNvZGVkQ2hhaW4uZXh0cmFEYXRhLlhVSUQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pZGVudGl0eSA9IGRlY29kZWRDaGFpbi5leHRyYURhdGEuaWRlbnRpdHk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSA9IGRlY29kZWRDaGFpbi5leHRyYURhdGEuZGlzcGxheU5hbWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaWRlbnRpdHlQdWJsaWNLZXkgPSBkZWNvZGVkQ2hhaW4uaWRlbnRpdHlQdWJsaWNLZXk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNvZGVkSldUID0gZGVjb2RlKE5ldHdvcmtVdGlsLnJlYWRMRUxlbmd0aEFTQ0lJU3RyaW5nKHRoaXMpKTtcbiAgICAgICAgdGhpcy5za2luID0gU2tpbi5mcm9tSldUKGRlY29kZWRKV1QpO1xuICAgICAgICB0aGlzLmRldmljZSA9IG5ldyBEZXZpY2Uoe1xuICAgICAgICAgICAgaWQ6IGRlY29kZWRKV1QuRGV2aWNlSWQsXG4gICAgICAgICAgICBvczogZGVjb2RlZEpXVC5EZXZpY2VPUyxcbiAgICAgICAgICAgIG1vZGVsOiBkZWNvZGVkSldULkRldmljZU1vZGVsLFxuICAgICAgICAgICAgaW5wdXRNb2RlOiBkZWNvZGVkSldULkN1cnJlbnRJbnB1dE1vZGUsXG4gICAgICAgICAgICBndWlTY2FsZTogZGVjb2RlZEpXVC5HdWlTY2FsZVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNsaWVudFJhbmRvbUlkID0gZGVjb2RlZEpXVC5DbGllbnRSYW5kb21JZDtcbiAgICAgICAgdGhpcy5zZXJ2ZXJBZGRyZXNzID0gZGVjb2RlZEpXVC5TZXJ2ZXJBZGRyZXNzO1xuICAgICAgICB0aGlzLmxhbmd1YWdlQ29kZSA9IGRlY29kZWRKV1QuTGFuZ3VhZ2VDb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbmNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICAvKlxuICAgICAgICBUT0RPXG4gICAgICAgIHRoaXMud3JpdGVJbnQoSWRlbnRpZmllcnMuUHJvdG9jb2wpO1xuXG4gICAgICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBCaW5hcnlTdHJlYW0oKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGNoYWluOiBbXG4gICAgICAgICAgICAgICAgXCJleUpoYkdjaU9pSkZVek00TkNJc0luZzFkU0k2SWsxSVdYZEZRVmxJUzI5YVNYcHFNRU5CVVZsR1N6UkZSVUZEU1VSWlowRkZaaXRRTnk5NFJFb3pVRkZUSzJWc2IxTTVXamhEZHpjek1HMHZjbmRGWmxabWFXZzFRakJRWm10RWRXUjJRbWxJZVhKeFVqaG1hRWc1WVdKa1JXUkVMekUzU2s5eFpWZHdaVFJ6Y2pCM1NrOUZaRFJSVjA1d2JtNWtZazkwVjBZelRYbzFiazVhVlUxcmVrRXdhV0UyVjI4dlFuQlFRMGhYUjA5M1EzUjViV3dpZlFvLmV5SmpaWEowYVdacFkyRjBaVUYxZEdodmNtbDBlU0k2ZEhKMVpTd2laWGh3SWpveE5qQTJORFk1T1RnNExDSnBaR1Z1ZEdsMGVWQjFZbXhwWTB0bGVTSTZJazFJV1hkRlFWbElTMjlhU1hwcU1FTkJVVmxHU3pSRlJVRkRTVVJaWjBGRk9FVk1hMmw0ZVV4amQyeGFjbmxWVVdOMU1WUjJVRTl0U1RKQ04zWllPRE51Wkc1WFVsVmhXRzAzTkhkR1ptRTFaaTlzZDFGT1ZHWnlURlpJWVRKUWJXVnVjRWRKTmtwb1NVMVZTbUZYV25KcWJVMXFPVEJPYjB0T1JsTk9RblZMWkcwNGNsbHBXSE5tWVhvelN6TTJlQzh4VlRJMlNIQkhNRnA0U3k5V01WWWlMQ0p1WW1ZaU9qRTJNRFl5T1RjeE1qaDlDZy4yenZ4V0VEMHVtRTBmWWdabHg2aDNkSWZQdzFodjUwVWc1RHZ0T1hxVkhCdjJzZnJpVEI3amtKU01HcDJybnVOWVNfSXJfUTRlOUNTV0E1QXp1dXVKODJaM3BwMlNRdVg3WWgxTHBsbXZqQW9pWGZRcVFyNF9UYXVrQnRHWG1MZFwiLFxuICAgICAgICAgICAgICAgIFwiZXlKNE5YVWlPaUpOU0ZsM1JVRlpTRXR2V2tsNmFqQkRRVkZaUmtzMFJVVkJRMGxFV1dkQlJUaEZUR3RwZUhsTVkzZHNXbko1VlZGamRURlVkbEJQYlVreVFqZDJXRGd6Ym1SdVYxSlZZVmh0TnpSM1JtWmhOV1pjTDJ4M1VVNVVabkpNVmtoaE1sQnRaVzV3UjBrMlNtaEpUVlZLWVZkYWNtcHRUV281TUU1dlMwNUdVMDVDZFV0a2JUaHlXV2xZYzJaaGVqTkxNelo0WEM4eFZUSTJTSEJITUZwNFMxd3ZWakZXSWl3aVlXeG5Jam9pUlZNek9EUWlmUS5leUp1WW1ZaU9qRTJNRFl5T1RjeE1qZ3NJbkpoYm1SdmJVNXZibU5sSWpvdE1qVXhOakF6TkRRNE5qTTBOVEE1TlRrMU55d2lhWE56SWpvaVRXOXFZVzVuSWl3aVpYaHdJam94TmpBMk5EWTVPVGc0TENKalpYSjBhV1pwWTJGMFpVRjFkR2h2Y21sMGVTSTZkSEoxWlN3aWFXRjBJam94TmpBMk1qazNNVGc0TENKcFpHVnVkR2wwZVZCMVlteHBZMHRsZVNJNklrMUlXWGRGUVZsSVMyOWFTWHBxTUVOQlVWbEdTelJGUlVGRFNVUlpaMEZGWVVKVGJqbHZTV3hzTm05SGRrNXNUbTF3WEM5elJGSlpURVpGVlRsVFpESmhaVUZZTlRoU1NHcExLekIwTm14MFdXVnRXR0Z1YlhZMU5Wd3ZXbE5xYmpCWE5VZFpaa0ZIUzBZMFQxbG5jV04wV1dWaWVHeEVSV1ZZTUZ3dmNEQllUMXd2ZHl0TlVsd3ZTM1p3YW5GV2VqWlplbWRZTmxSbVFUYzNjM2R2VFhWTlVEUnpTU0o5LkZNZmlHUlVPanc2YkkzSDRDaFlxZ3NIWTR0OHlXaW1xM1F1MjdENjh3UXdsQlVpQmVPZEFGVmIyTkhMV0tCWEtCUDN5M3R4Ym45QTY1WHZyZzlCV2hWWlBaejVwR0x4d2lSTmw5ZjhpSkpmbGZpM1FmS01NYWlMcmpqOFpZUXdsXCIsXG4gICAgICAgICAgICAgICAgXCJleUo0TlhVaU9pSk5TRmwzUlVGWlNFdHZXa2w2YWpCRFFWRlpSa3MwUlVWQlEwbEVXV2RCUldGQ1UyNDViMGxzYkRadlIzWk9iRTV0Y0Z3dmMwUlNXVXhHUlZVNVUyUXlZV1ZCV0RVNFVraHFTeXN3ZERac2RGbGxiVmhoYm0xMk5UVmNMMXBUYW00d1Z6VkhXV1pCUjB0R05FOVpaM0ZqZEZsbFluaHNSRVZsV0RCY0wzQXdXRTljTDNjclRWSmNMMHQyY0dweFZubzJXWHBuV0RaVVprRTNOM04zYjAxMVRWQTBjMGtpTENKaGJHY2lPaUpGVXpNNE5DSjkuZXlKdVltWWlPakUyTURZeU9UazBNRGtzSW1WNGRISmhSR0YwWVNJNmV5SllWVWxFSWpvaU1qVXpOVFF4TXpZMk1UTXhNVFV3TWlJc0ltbGtaVzUwYVhSNUlqb2laRFJtTm1Rd05tSXRORGs0T1MwellXSXdMVGxrTURNdE9EQTJPVFJsTWpRM1pXSmlJaXdpWkdsemNHeGhlVTVoYldVaU9pSklaWEp5ZVZsVUlpd2lkR2wwYkdWSlpDSTZJamc1TmpreU9EYzNOU0o5TENKeVlXNWtiMjFPYjI1alpTSTZMVFl6T1RBMk1qZ3dOREEzTURnMk1Ea3lOaXdpYVhOeklqb2lUVzlxWVc1bklpd2laWGh3SWpveE5qQTJNemcxT0RZNUxDSnBZWFFpT2pFMk1EWXlPVGswTmprc0ltbGtaVzUwYVhSNVVIVmliR2xqUzJWNUlqb2lUVWhaZDBWQldVaExiMXBKZW1vd1EwRlJXVVpMTkVWRlFVTkpSRmxuUVVWbUsxQTNYQzk0UkVvelVGRlRLMlZzYjFNNVdqaERkemN6TUcxY0wzSjNSV1pXWm1sb05VSXdVR1pyUkhWa2RrSnBTSGx5Y1ZJNFptaElPV0ZpWkVWa1JGd3ZNVGRLVDNGbFYzQmxOSE55TUhkS1QwVmtORkZYVG5CdWJtUmlUM1JYUmpOTmVqVnVUbHBWVFd0NlFUQnBZVFpYYjF3dlFuQlFRMGhYUjA5M1EzUjViV3dpZlEueWE1MTVxb0NHbHVZaFN3TUhHSEtSR2FlQ2FyckJyNm1wMEg5Z0N4SlFfOHhMVEdqS2R5TkdLZVFGbGRvUnFEVExDWnNFSVRyTHVBS0JRa2dTd1hpVkliQWVoTzZIZUliakVTaW82aFZFTFVBOUMyZWVsQmFzUU9ETC1sRThrYXhcIlxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcblxuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCg1NTMwOSk7ICAvLyBGdWxsIGxlbmd0aFxuXG4gICAgICAgIHN0cmVhbS53cml0ZUxJbnQoQnVmZmVyLmJ5dGVMZW5ndGgoZGF0YSkpO1xuICAgICAgICBzdHJlYW0uYXBwZW5kKEJ1ZmZlci5mcm9tKGRhdGEsICd1dGY4JykpO1xuICAgICAgICAqL1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJEYXRhUGFja2V0IiwiSWRlbnRpZmllcnMiLCJOZXR3b3JrVXRpbCIsImZhc3RKV1QiLCJTa2luIiwiRGV2aWNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFPQSxNQUFxQixvQkFBb0JBLGlDQUFXLENBQUE7QUFBQSxFQUNoRCxPQUFjLFFBQVFDLDJCQUFZLENBQUEsV0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSzNCLElBQUE7QUFBQSxFQUNBLFFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLFdBQUE7QUFBQSxFQUNBLFFBQUE7QUFBQSxFQUNBLGlCQUFBO0FBQUEsRUFFQSxjQUFBO0FBQUEsRUFDQSxhQUFBO0FBQUEsRUFDQSxZQUFBO0FBQUEsRUFFQSxNQUFBO0FBQUEsRUFDQSxJQUFBO0FBQUEsRUFFQSxhQUFzQixHQUFBO0FBQ3pCLElBQUssSUFBQSxDQUFBLFFBQUEsR0FBVyxLQUFLLE9BQVEsRUFBQTtBQUc3QixJQUFBLElBQUEsQ0FBSyxrQkFBbUIsRUFBQTtBQUN4QixJQUFBLE1BQU0sWUFBWSxJQUFLLENBQUEsS0FBQSxDQUFNQywrQkFBWSxDQUFBLHVCQUFBLENBQXdCLElBQUksQ0FBQyxDQUFBO0FBQ3RFLElBQU0sTUFBQSxNQUFBLEdBQVNDLHlCQUFRLGFBQWMsRUFBQTtBQUVyQyxJQUFXLEtBQUEsTUFBQSxLQUFBLElBQVMsVUFBVSxLQUFPLEVBQUE7QUFDakMsTUFBTSxNQUFBLFlBQUEsR0FBZSxPQUFPLEtBQUssQ0FBQTtBQUVqQyxNQUFBLElBQUksYUFBYSxTQUFXLEVBQUE7QUFDeEIsUUFBSyxJQUFBLENBQUEsSUFBQSxHQUFPLGFBQWEsU0FBVSxDQUFBLElBQUE7QUFDbkMsUUFBSyxJQUFBLENBQUEsUUFBQSxHQUFXLGFBQWEsU0FBVSxDQUFBLFFBQUE7QUFDdkMsUUFBSyxJQUFBLENBQUEsV0FBQSxHQUFjLGFBQWEsU0FBVSxDQUFBLFdBQUE7QUFBQTtBQUc5QyxNQUFBLElBQUEsQ0FBSyxvQkFBb0IsWUFBYSxDQUFBLGlCQUFBO0FBQUE7QUFHMUMsSUFBQSxNQUFNLFVBQWEsR0FBQSxNQUFBLENBQU9ELCtCQUFZLENBQUEsdUJBQUEsQ0FBd0IsSUFBSSxDQUFDLENBQUE7QUFDbkUsSUFBSyxJQUFBLENBQUEsSUFBQSxHQUFPRSx1QkFBSyxDQUFBLE9BQUEsQ0FBUSxVQUFVLENBQUE7QUFDbkMsSUFBSyxJQUFBLENBQUEsTUFBQSxHQUFTLElBQUlDLG9CQUFPLENBQUE7QUFBQSxNQUNyQixJQUFJLFVBQVcsQ0FBQSxRQUFBO0FBQUEsTUFDZixJQUFJLFVBQVcsQ0FBQSxRQUFBO0FBQUEsTUFDZixPQUFPLFVBQVcsQ0FBQSxXQUFBO0FBQUEsTUFDbEIsV0FBVyxVQUFXLENBQUEsZ0JBQUE7QUFBQSxNQUN0QixVQUFVLFVBQVcsQ0FBQTtBQUFBLEtBQ3hCLENBQUE7QUFFRCxJQUFBLElBQUEsQ0FBSyxpQkFBaUIsVUFBVyxDQUFBLGNBQUE7QUFDakMsSUFBQSxJQUFBLENBQUssZ0JBQWdCLFVBQVcsQ0FBQSxhQUFBO0FBQ2hDLElBQUEsSUFBQSxDQUFLLGVBQWUsVUFBVyxDQUFBLFlBQUE7QUFBQTtBQUNuQyxFQUVPLGFBQXNCLEdBQUE7QUFBQTtBQW9CakM7Ozs7In0=