@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
65 lines (64 loc) • 10.3 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs.cjs");
const require_network_NetworkUtil = require("../NetworkUtil.cjs.cjs");
const require_network_Identifiers = require("../Identifiers.cjs.cjs");
const require_network_packet_DataPacket = require("./DataPacket.cjs.cjs");
const require_utils_Device = require("../../utils/Device.cjs.cjs");
const require_utils_skin_Skin = require("../../utils/skin/Skin.cjs.cjs");
let fast_jwt = require("fast-jwt");
fast_jwt = require_runtime.__toESM(fast_jwt, 1);
//#region src/network/packet/LoginPacket.ts
var LoginPacket = class extends require_network_packet_DataPacket.default {
static NetID = require_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(require_network_NetworkUtil.NetworkUtil.readLELengthASCIIString(this));
const decode = fast_jwt.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(require_network_NetworkUtil.NetworkUtil.readLELengthASCIIString(this));
this.skin = require_utils_skin_Skin.default.fromJWT(decodedJWT);
this.device = new require_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() {}
};
//#endregion
exports.default = LoginPacket;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5QYWNrZXQuY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9wYWNrZXQvTG9naW5QYWNrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZhc3RKV1QgZnJvbSAnZmFzdC1qd3QnO1xuaW1wb3J0IHsgTmV0d29ya1V0aWwgfSBmcm9tICcuLi8uLi9uZXR3b3JrL05ldHdvcmtVdGlsJztcbmltcG9ydCBEZXZpY2UgZnJvbSAnLi4vLi4vdXRpbHMvRGV2aWNlJztcbmltcG9ydCBTa2luIGZyb20gJy4uLy4uL3V0aWxzL3NraW4vU2tpbic7XG5pbXBvcnQgSWRlbnRpZmllcnMgZnJvbSAnLi4vSWRlbnRpZmllcnMnO1xuaW1wb3J0IERhdGFQYWNrZXQgZnJvbSAnLi9EYXRhUGFja2V0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9naW5QYWNrZXQgZXh0ZW5kcyBEYXRhUGFja2V0IHtcbiAgICBwdWJsaWMgc3RhdGljIE5ldElEID0gSWRlbnRpZmllcnMuTG9naW5QYWNrZXQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2xpZW50J3MgeGJveCBsaXZlIElELlxuICAgICAqL1xuICAgIHB1YmxpYyBYVUlEITogc3RyaW5nO1xuICAgIHB1YmxpYyBpZGVudGl0eSE6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGllbnQncyB1c2VybmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxheU5hbWUhOiBzdHJpbmc7XG4gICAgcHVibGljIHByb3RvY29sITogbnVtYmVyO1xuICAgIHB1YmxpYyBpZGVudGl0eVB1YmxpY0tleSE6IHN0cmluZztcblxuICAgIHB1YmxpYyBjbGllbnRSYW5kb21JZCE6IG51bWJlcjtcbiAgICBwdWJsaWMgc2VydmVyQWRkcmVzcyE6IHN0cmluZztcbiAgICBwdWJsaWMgbGFuZ3VhZ2VDb2RlITogc3RyaW5nO1xuXG4gICAgcHVibGljIGRldmljZSE6IERldmljZTtcbiAgICBwdWJsaWMgc2tpbiE6IFNraW47XG5cbiAgICBwdWJsaWMgZGVjb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IHRoaXMucmVhZEludCgpO1xuXG4gICAgICAgIC8vIFRPRE86IGNvbnRlbnQgbGVuZ3RoLCB0byB2YWxpZGF0ZSBpdCdzIGxlbmdodC4uLlxuICAgICAgICB0aGlzLnJlYWRVbnNpZ25lZFZhckludCgpO1xuICAgICAgICBjb25zdCBjaGFpbkRhdGEgPSBKU09OLnBhcnNlKE5ldHdvcmtVdGlsLnJlYWRMRUxlbmd0aEFTQ0lJU3RyaW5nKHRoaXMpKSBhcyBhbnk7XG4gICAgICAgIGNvbnN0IGRlY29kZSA9IGZhc3RKV1QuY3JlYXRlRGVjb2RlcigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgY2hhaW4gb2YgY2hhaW5EYXRhLmNoYWluKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVkQ2hhaW4gPSBkZWNvZGUoY2hhaW4pO1xuXG4gICAgICAgICAgICBpZiAoZGVjb2RlZENoYWluLmV4dHJhRGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMuWFVJRCA9IGRlY29kZWRDaGFpbi5leHRyYURhdGEuWFVJRDtcbiAgICAgICAgICAgICAgICB0aGlzLmlkZW50aXR5ID0gZGVjb2RlZENoYWluLmV4dHJhRGF0YS5pZGVudGl0eTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlOYW1lID0gZGVjb2RlZENoYWluLmV4dHJhRGF0YS5kaXNwbGF5TmFtZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pZGVudGl0eVB1YmxpY0tleSA9IGRlY29kZWRDaGFpbi5pZGVudGl0eVB1YmxpY0tleTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY29kZWRKV1QgPSBkZWNvZGUoTmV0d29ya1V0aWwucmVhZExFTGVuZ3RoQVNDSUlTdHJpbmcodGhpcykpO1xuICAgICAgICB0aGlzLnNraW4gPSBTa2luLmZyb21KV1QoZGVjb2RlZEpXVCk7XG4gICAgICAgIHRoaXMuZGV2aWNlID0gbmV3IERldmljZSh7XG4gICAgICAgICAgICBpZDogZGVjb2RlZEpXVC5EZXZpY2VJZCxcbiAgICAgICAgICAgIG9zOiBkZWNvZGVkSldULkRldmljZU9TLFxuICAgICAgICAgICAgbW9kZWw6IGRlY29kZWRKV1QuRGV2aWNlTW9kZWwsXG4gICAgICAgICAgICBpbnB1dE1vZGU6IGRlY29kZWRKV1QuQ3VycmVudElucHV0TW9kZSxcbiAgICAgICAgICAgIGd1aVNjYWxlOiBkZWNvZGVkSldULkd1aVNjYWxlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2xpZW50UmFuZG9tSWQgPSBkZWNvZGVkSldULkNsaWVudFJhbmRvbUlkO1xuICAgICAgICB0aGlzLnNlcnZlckFkZHJlc3MgPSBkZWNvZGVkSldULlNlcnZlckFkZHJlc3M7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlID0gZGVjb2RlZEpXVC5MYW5ndWFnZUNvZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGVuY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIC8qXG4gICAgICAgIFRPRE9cbiAgICAgICAgdGhpcy53cml0ZUludChJZGVudGlmaWVycy5Qcm90b2NvbCk7XG5cbiAgICAgICAgY29uc3Qgc3RyZWFtID0gbmV3IEJpbmFyeVN0cmVhbSgpO1xuICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgY2hhaW46IFtcbiAgICAgICAgICAgICAgICBcImV5SmhiR2NpT2lKRlV6TTROQ0lzSW5nMWRTSTZJazFJV1hkRlFWbElTMjlhU1hwcU1FTkJVVmxHU3pSRlJVRkRTVVJaWjBGRlppdFFOeTk0UkVvelVGRlRLMlZzYjFNNVdqaERkemN6TUcwdmNuZEZabFptYVdnMVFqQlFabXRFZFdSMlFtbEllWEp4VWpobWFFZzVZV0prUldSRUx6RTNTazl4WlZkd1pUUnpjakIzU2s5RlpEUlJWMDV3Ym01a1lrOTBWMFl6VFhvMWJrNWFWVTFyZWtFd2FXRTJWMjh2UW5CUVEwaFhSMDkzUTNSNWJXd2lmUW8uZXlKalpYSjBhV1pwWTJGMFpVRjFkR2h2Y21sMGVTSTZkSEoxWlN3aVpYaHdJam94TmpBMk5EWTVPVGc0TENKcFpHVnVkR2wwZVZCMVlteHBZMHRsZVNJNklrMUlXWGRGUVZsSVMyOWFTWHBxTUVOQlVWbEdTelJGUlVGRFNVUlpaMEZGT0VWTWEybDRlVXhqZDJ4YWNubFZVV04xTVZSMlVFOXRTVEpDTjNaWU9ETnVaRzVYVWxWaFdHMDNOSGRHWm1FMVppOXNkMUZPVkdaeVRGWklZVEpRYldWdWNFZEpOa3BvU1UxVlNtRlhXbkpxYlUxcU9UQk9iMHRPUmxOT1FuVkxaRzA0Y2xscFdITm1ZWG96U3pNMmVDOHhWVEkyU0hCSE1GcDRTeTlXTVZZaUxDSnVZbVlpT2pFMk1EWXlPVGN4TWpoOUNnLjJ6dnhXRUQwdW1FMGZZZ1pseDZoM2RJZlB3MWh2NTBVZzVEdnRPWHFWSEJ2MnNmcmlUQjdqa0pTTUdwMnJudU5ZU19Jcl9RNGU5Q1NXQTVBenV1dUo4MlozcHAyU1F1WDdZaDFMcGxtdmpBb2lYZlFxUXI0X1RhdWtCdEdYbUxkXCIsXG4gICAgICAgICAgICAgICAgXCJleUo0TlhVaU9pSk5TRmwzUlVGWlNFdHZXa2w2YWpCRFFWRlpSa3MwUlVWQlEwbEVXV2RCUlRoRlRHdHBlSGxNWTNkc1duSjVWVkZqZFRGVWRsQlBiVWt5UWpkMldEZ3pibVJ1VjFKVllWaHROelIzUm1aaE5XWmNMMngzVVU1VVpuSk1Wa2hoTWxCdFpXNXdSMGsyU21oSlRWVktZVmRhY21wdFRXbzVNRTV2UzA1R1UwNUNkVXRrYlRoeVdXbFljMlpoZWpOTE16WjRYQzh4VlRJMlNIQkhNRnA0UzF3dlZqRldJaXdpWVd4bklqb2lSVk16T0RRaWZRLmV5SnVZbVlpT2pFMk1EWXlPVGN4TWpnc0luSmhibVJ2YlU1dmJtTmxJam90TWpVeE5qQXpORFE0TmpNME5UQTVOVGsxTnl3aWFYTnpJam9pVFc5cVlXNW5JaXdpWlhod0lqb3hOakEyTkRZNU9UZzRMQ0pqWlhKMGFXWnBZMkYwWlVGMWRHaHZjbWwwZVNJNmRISjFaU3dpYVdGMElqb3hOakEyTWprM01UZzRMQ0pwWkdWdWRHbDBlVkIxWW14cFkwdGxlU0k2SWsxSVdYZEZRVmxJUzI5YVNYcHFNRU5CVVZsR1N6UkZSVUZEU1VSWlowRkZZVUpUYmpsdlNXeHNObTlIZGs1c1RtMXdYQzl6UkZKWlRFWkZWVGxUWkRKaFpVRllOVGhTU0dwTEt6QjBObXgwV1dWdFdHRnViWFkxTlZ3dldsTnFiakJYTlVkWlprRkhTMFkwVDFsbmNXTjBXV1ZpZUd4RVJXVllNRnd2Y0RCWVQxd3ZkeXROVWx3dlMzWndhbkZXZWpaWmVtZFlObFJtUVRjM2MzZHZUWFZOVURSelNTSjkuRk1maUdSVU9qdzZiSTNINENoWXFnc0hZNHQ4eVdpbXEzUXUyN0Q2OHdRd2xCVWlCZU9kQUZWYjJOSExXS0JYS0JQM3kzdHhibjlBNjVYdnJnOUJXaFZaUFp6NXBHTHh3aVJObDlmOGlKSmZsZmkzUWZLTU1haUxyamo4WllRd2xcIixcbiAgICAgICAgICAgICAgICBcImV5SjROWFVpT2lKTlNGbDNSVUZaU0V0dldrbDZhakJEUVZGWlJrczBSVVZCUTBsRVdXZEJSV0ZDVTI0NWIwbHNiRFp2UjNaT2JFNXRjRnd2YzBSU1dVeEdSVlU1VTJReVlXVkJXRFU0VWtocVN5c3dkRFpzZEZsbGJWaGhibTEyTlRWY0wxcFRhbTR3VnpWSFdXWkJSMHRHTkU5WlozRmpkRmxsWW5oc1JFVmxXREJjTDNBd1dFOWNMM2NyVFZKY0wwdDJjR3B4Vm5vMldYcG5XRFpVWmtFM04zTjNiMDExVFZBMGMwa2lMQ0poYkdjaU9pSkZVek00TkNKOS5leUp1WW1ZaU9qRTJNRFl5T1RrME1Ea3NJbVY0ZEhKaFJHRjBZU0k2ZXlKWVZVbEVJam9pTWpVek5UUXhNelkyTVRNeE1UVXdNaUlzSW1sa1pXNTBhWFI1SWpvaVpEUm1ObVF3Tm1JdE5EazRPUzB6WVdJd0xUbGtNRE10T0RBMk9UUmxNalEzWldKaUlpd2laR2x6Y0d4aGVVNWhiV1VpT2lKSVpYSnllVmxVSWl3aWRHbDBiR1ZKWkNJNklqZzVOamt5T0RjM05TSjlMQ0p5WVc1a2IyMU9iMjVqWlNJNkxUWXpPVEEyTWpnd05EQTNNRGcyTURreU5pd2lhWE56SWpvaVRXOXFZVzVuSWl3aVpYaHdJam94TmpBMk16ZzFPRFk1TENKcFlYUWlPakUyTURZeU9UazBOamtzSW1sa1pXNTBhWFI1VUhWaWJHbGpTMlY1SWpvaVRVaFpkMFZCV1VoTGIxcEplbW93UTBGUldVWkxORVZGUVVOSlJGbG5RVVZtSzFBM1hDOTRSRW96VUZGVEsyVnNiMU01V2poRGR6Y3pNRzFjTDNKM1JXWldabWxvTlVJd1VHWnJSSFZrZGtKcFNIbHljVkk0Wm1oSU9XRmlaRVZrUkZ3dk1UZEtUM0ZsVjNCbE5ITnlNSGRLVDBWa05GRlhUbkJ1Ym1SaVQzUlhSak5OZWpWdVRscFZUV3Q2UVRCcFlUWlhiMXd2UW5CUVEwaFhSMDkzUTNSNWJXd2lmUS55YTUxNXFvQ0dsdVloU3dNSEdIS1JHYWVDYXJyQnI2bXAwSDlnQ3hKUV84eExUR2pLZHlOR0tlUUZsZG9ScURUTENac0VJVHJMdUFLQlFrZ1N3WGlWSWJBZWhPNkhlSWJqRVNpbzZoVkVMVUE5QzJlZWxCYXNRT0RMLWxFOGtheFwiXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkVmFySW50KDU1MzA5KTsgIC8vIEZ1bGwgbGVuZ3RoXG5cbiAgICAgICAgc3RyZWFtLndyaXRlTEludChCdWZmZXIuYnl0ZUxlbmd0aChkYXRhKSk7XG4gICAgICAgIHN0cmVhbS5hcHBlbmQoQnVmZmVyLmZyb20oZGF0YSwgJ3V0ZjgnKSk7XG4gICAgICAgICovXG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQU9BLElBQXFCLGNBQXJCLGNBQXlDLGtDQUFBLFFBQVc7Q0FDaEQsT0FBYyxRQUFRLDRCQUFBLFFBQVk7Ozs7Q0FLbEM7Q0FDQTs7OztDQUtBO0NBQ0E7Q0FDQTtDQUVBO0NBQ0E7Q0FDQTtDQUVBO0NBQ0E7Q0FFQSxnQkFBNkI7RUFDekIsS0FBSyxXQUFXLEtBQUssUUFBUTtFQUc3QixLQUFLLG1CQUFtQjtFQUN4QixNQUFNLFlBQVksS0FBSyxNQUFNLDRCQUFBLFlBQVksd0JBQXdCLElBQUksQ0FBQztFQUN0RSxNQUFNLFNBQVMsU0FBQSxRQUFRLGNBQWM7RUFFckMsS0FBSyxNQUFNLFNBQVMsVUFBVSxPQUFPO0dBQ2pDLE1BQU0sZUFBZSxPQUFPLEtBQUs7R0FFakMsSUFBSSxhQUFhLFdBQVc7SUFDeEIsS0FBSyxPQUFPLGFBQWEsVUFBVTtJQUNuQyxLQUFLLFdBQVcsYUFBYSxVQUFVO0lBQ3ZDLEtBQUssY0FBYyxhQUFhLFVBQVU7R0FDOUM7R0FFQSxLQUFLLG9CQUFvQixhQUFhO0VBQzFDO0VBRUEsTUFBTSxhQUFhLE9BQU8sNEJBQUEsWUFBWSx3QkFBd0IsSUFBSSxDQUFDO0VBQ25FLEtBQUssT0FBTyx3QkFBQSxRQUFLLFFBQVEsVUFBVTtFQUNuQyxLQUFLLFNBQVMsSUFBSSxxQkFBQSxRQUFPO0dBQ3JCLElBQUksV0FBVztHQUNmLElBQUksV0FBVztHQUNmLE9BQU8sV0FBVztHQUNsQixXQUFXLFdBQVc7R0FDdEIsVUFBVSxXQUFXO0VBQ3pCLENBQUM7RUFFRCxLQUFLLGlCQUFpQixXQUFXO0VBQ2pDLEtBQUssZ0JBQWdCLFdBQVc7RUFDaEMsS0FBSyxlQUFlLFdBQVc7Q0FDbkM7Q0FFQSxnQkFBNkIsQ0FtQjdCO0FBQ0oifQ==