UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

92 lines (91 loc) 10.7 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); 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_network_type_TextType = require("../type/TextType.cjs.cjs"); //#region src/network/packet/TextPacket.ts /** * Packet for chat messages, announcements etc. */ var TextPacket = class extends require_network_packet_DataPacket.default { static NetID = require_network_Identifiers.default.TextPacket; /** * The type of the chat message. * Eg. Chat, Announcement, Json, etc. */ type; needsTranslation; sourceName; /** * The actual chat message. */ message; parameters = []; xuid; platformChatId; filtered; decodePayload() { this.type = this.readByte(); this.needsTranslation = this.readBoolean(); switch (this.type) { case require_network_type_TextType.default.Chat: case require_network_type_TextType.default.Whisper: case require_network_type_TextType.default.Announcement: this.sourceName = require_network_NetworkUtil.NetworkUtil.readString(this); this.message = require_network_NetworkUtil.NetworkUtil.readString(this); break; case require_network_type_TextType.default.Raw: case require_network_type_TextType.default.Tip: case require_network_type_TextType.default.System: case require_network_type_TextType.default.JsonWhisper: case require_network_type_TextType.default.Json: this.message = require_network_NetworkUtil.NetworkUtil.readString(this); break; case require_network_type_TextType.default.Translation: case require_network_type_TextType.default.Popup: case require_network_type_TextType.default.JukeboxPopup: this.message = require_network_NetworkUtil.NetworkUtil.readString(this); const count = this.readUnsignedVarInt(); for (let i = 0; i < count; i++) this.parameters.push(require_network_NetworkUtil.NetworkUtil.readString(this)); break; default: throw new Error("Invalid TextType"); } this.xuid = require_network_NetworkUtil.NetworkUtil.readString(this); this.platformChatId = require_network_NetworkUtil.NetworkUtil.readString(this); this.filtered = require_network_NetworkUtil.NetworkUtil.readString(this); } encodePayload() { this.writeByte(this.type); this.writeBoolean(this.needsTranslation); switch (this.type) { case require_network_type_TextType.default.Chat: case require_network_type_TextType.default.Whisper: case require_network_type_TextType.default.Announcement: require_network_NetworkUtil.NetworkUtil.writeString(this, this.sourceName); case require_network_type_TextType.default.Raw: case require_network_type_TextType.default.Tip: case require_network_type_TextType.default.System: case require_network_type_TextType.default.JsonWhisper: case require_network_type_TextType.default.Json: require_network_NetworkUtil.NetworkUtil.writeString(this, this.message); break; case require_network_type_TextType.default.Translation: case require_network_type_TextType.default.Popup: case require_network_type_TextType.default.JukeboxPopup: require_network_NetworkUtil.NetworkUtil.writeString(this, this.message); this.writeUnsignedVarInt(this.parameters.length); for (const parameter of this.parameters) require_network_NetworkUtil.NetworkUtil.writeString(this, parameter); break; default: throw new Error("Invalid TextType"); } require_network_NetworkUtil.NetworkUtil.writeString(this, this.xuid); require_network_NetworkUtil.NetworkUtil.writeString(this, this.platformChatId); require_network_NetworkUtil.NetworkUtil.writeString(this, this.filtered); } }; //#endregion exports.default = TextPacket; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFBhY2tldC5janMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXR3b3JrL3BhY2tldC9UZXh0UGFja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJZGVudGlmaWVycyBmcm9tICcuLi9JZGVudGlmaWVycyc7XG5pbXBvcnQgeyBOZXR3b3JrVXRpbCB9IGZyb20gJy4uL05ldHdvcmtVdGlsJztcbmltcG9ydCBUZXh0VHlwZSBmcm9tICcuLi90eXBlL1RleHRUeXBlJztcbmltcG9ydCBEYXRhUGFja2V0IGZyb20gJy4vRGF0YVBhY2tldCc7XG5cbi8qKlxuICogUGFja2V0IGZvciBjaGF0IG1lc3NhZ2VzLCBhbm5vdW5jZW1lbnRzIGV0Yy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGV4dFBhY2tldCBleHRlbmRzIERhdGFQYWNrZXQge1xuICAgIHB1YmxpYyBzdGF0aWMgTmV0SUQgPSBJZGVudGlmaWVycy5UZXh0UGFja2V0O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIGNoYXQgbWVzc2FnZS5cbiAgICAgKiBFZy4gQ2hhdCwgQW5ub3VuY2VtZW50LCBKc29uLCBldGMuXG4gICAgICovXG4gICAgcHVibGljIHR5cGUhOiBUZXh0VHlwZTtcbiAgICBwdWJsaWMgbmVlZHNUcmFuc2xhdGlvbiE6IGJvb2xlYW47XG4gICAgcHVibGljIHNvdXJjZU5hbWUhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYWN0dWFsIGNoYXQgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWVzc2FnZSE6IHN0cmluZztcbiAgICBwdWJsaWMgcGFyYW1ldGVyczogc3RyaW5nW10gPSBbXTtcbiAgICBwdWJsaWMgeHVpZCE6IHN0cmluZztcbiAgICBwdWJsaWMgcGxhdGZvcm1DaGF0SWQhOiBzdHJpbmc7XG4gICAgcHVibGljIGZpbHRlcmVkITogc3RyaW5nO1xuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHlwZSA9IHRoaXMucmVhZEJ5dGUoKTtcbiAgICAgICAgdGhpcy5uZWVkc1RyYW5zbGF0aW9uID0gdGhpcy5yZWFkQm9vbGVhbigpO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLkNoYXQ6XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLldoaXNwZXI6XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLkFubm91bmNlbWVudDpcbiAgICAgICAgICAgICAgICB0aGlzLnNvdXJjZU5hbWUgPSBOZXR3b3JrVXRpbC5yZWFkU3RyaW5nKHRoaXMpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IE5ldHdvcmtVdGlsLnJlYWRTdHJpbmcodGhpcyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuUmF3OlxuICAgICAgICAgICAgY2FzZSBUZXh0VHlwZS5UaXA6XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLlN5c3RlbTpcbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuSnNvbldoaXNwZXI6XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLkpzb246XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gTmV0d29ya1V0aWwucmVhZFN0cmluZyh0aGlzKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBUZXh0VHlwZS5UcmFuc2xhdGlvbjpcbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuUG9wdXA6XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLkp1a2Vib3hQb3B1cDpcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBOZXR3b3JrVXRpbC5yZWFkU3RyaW5nKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gdGhpcy5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbWV0ZXJzLnB1c2goTmV0d29ya1V0aWwucmVhZFN0cmluZyh0aGlzKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFRleHRUeXBlJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnh1aWQgPSBOZXR3b3JrVXRpbC5yZWFkU3RyaW5nKHRoaXMpO1xuICAgICAgICB0aGlzLnBsYXRmb3JtQ2hhdElkID0gTmV0d29ya1V0aWwucmVhZFN0cmluZyh0aGlzKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZCA9IE5ldHdvcmtVdGlsLnJlYWRTdHJpbmcodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGVuY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVCeXRlKHRoaXMudHlwZSk7XG4gICAgICAgIHRoaXMud3JpdGVCb29sZWFuKHRoaXMubmVlZHNUcmFuc2xhdGlvbik7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuQ2hhdDpcbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuV2hpc3BlcjpcbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuQW5ub3VuY2VtZW50OlxuICAgICAgICAgICAgICAgIE5ldHdvcmtVdGlsLndyaXRlU3RyaW5nKHRoaXMsIHRoaXMuc291cmNlTmFtZSk7XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLlJhdzpcbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuVGlwOlxuICAgICAgICAgICAgY2FzZSBUZXh0VHlwZS5TeXN0ZW06XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLkpzb25XaGlzcGVyOlxuICAgICAgICAgICAgY2FzZSBUZXh0VHlwZS5Kc29uOlxuICAgICAgICAgICAgICAgIE5ldHdvcmtVdGlsLndyaXRlU3RyaW5nKHRoaXMsIHRoaXMubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgVGV4dFR5cGUuVHJhbnNsYXRpb246XG4gICAgICAgICAgICBjYXNlIFRleHRUeXBlLlBvcHVwOlxuICAgICAgICAgICAgY2FzZSBUZXh0VHlwZS5KdWtlYm94UG9wdXA6XG4gICAgICAgICAgICAgICAgTmV0d29ya1V0aWwud3JpdGVTdHJpbmcodGhpcywgdGhpcy5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJJbnQodGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgdGhpcy5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgIE5ldHdvcmtVdGlsLndyaXRlU3RyaW5nKHRoaXMsIHBhcmFtZXRlcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBUZXh0VHlwZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgTmV0d29ya1V0aWwud3JpdGVTdHJpbmcodGhpcywgdGhpcy54dWlkKTtcbiAgICAgICAgTmV0d29ya1V0aWwud3JpdGVTdHJpbmcodGhpcywgdGhpcy5wbGF0Zm9ybUNoYXRJZCk7XG4gICAgICAgIE5ldHdvcmtVdGlsLndyaXRlU3RyaW5nKHRoaXMsIHRoaXMuZmlsdGVyZWQpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQVFBLElBQXFCLGFBQXJCLGNBQXdDLGtDQUFBLFFBQVc7Q0FDL0MsT0FBYyxRQUFRLDRCQUFBLFFBQVk7Ozs7O0NBTWxDO0NBQ0E7Q0FDQTs7OztDQUtBO0NBQ0EsYUFBOEIsQ0FBQztDQUMvQjtDQUNBO0NBQ0E7Q0FFQSxnQkFBNkI7RUFDekIsS0FBSyxPQUFPLEtBQUssU0FBUztFQUMxQixLQUFLLG1CQUFtQixLQUFLLFlBQVk7RUFFekMsUUFBUSxLQUFLLE1BQWI7R0FDSSxLQUFLLDhCQUFBLFFBQVM7R0FDZCxLQUFLLDhCQUFBLFFBQVM7R0FDZCxLQUFLLDhCQUFBLFFBQVM7SUFDVixLQUFLLGFBQWEsNEJBQUEsWUFBWSxXQUFXLElBQUk7SUFDN0MsS0FBSyxVQUFVLDRCQUFBLFlBQVksV0FBVyxJQUFJO0lBQzFDO0dBRUosS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTO0lBQ1YsS0FBSyxVQUFVLDRCQUFBLFlBQVksV0FBVyxJQUFJO0lBQzFDO0dBRUosS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTO0lBQ1YsS0FBSyxVQUFVLDRCQUFBLFlBQVksV0FBVyxJQUFJO0lBQzFDLE1BQU0sUUFBUSxLQUFLLG1CQUFtQjtJQUN0QyxLQUFLLElBQUksSUFBSSxHQUFHLElBQUksT0FBTyxLQUN2QixLQUFLLFdBQVcsS0FBSyw0QkFBQSxZQUFZLFdBQVcsSUFBSSxDQUFDO0lBR3JEO0dBRUosU0FDSSxNQUFNLElBQUksTUFBTSxrQkFBa0I7RUFDMUM7RUFFQSxLQUFLLE9BQU8sNEJBQUEsWUFBWSxXQUFXLElBQUk7RUFDdkMsS0FBSyxpQkFBaUIsNEJBQUEsWUFBWSxXQUFXLElBQUk7RUFDakQsS0FBSyxXQUFXLDRCQUFBLFlBQVksV0FBVyxJQUFJO0NBQy9DO0NBRUEsZ0JBQTZCO0VBQ3pCLEtBQUssVUFBVSxLQUFLLElBQUk7RUFDeEIsS0FBSyxhQUFhLEtBQUssZ0JBQWdCO0VBRXZDLFFBQVEsS0FBSyxNQUFiO0dBQ0ksS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTO0dBQ2QsS0FBSyw4QkFBQSxRQUFTLGNBQ1YsNEJBQUEsWUFBWSxZQUFZLE1BQU0sS0FBSyxVQUFVO0dBQ2pELEtBQUssOEJBQUEsUUFBUztHQUNkLEtBQUssOEJBQUEsUUFBUztHQUNkLEtBQUssOEJBQUEsUUFBUztHQUNkLEtBQUssOEJBQUEsUUFBUztHQUNkLEtBQUssOEJBQUEsUUFBUztJQUNWLDRCQUFBLFlBQVksWUFBWSxNQUFNLEtBQUssT0FBTztJQUMxQztHQUVKLEtBQUssOEJBQUEsUUFBUztHQUNkLEtBQUssOEJBQUEsUUFBUztHQUNkLEtBQUssOEJBQUEsUUFBUztJQUNWLDRCQUFBLFlBQVksWUFBWSxNQUFNLEtBQUssT0FBTztJQUMxQyxLQUFLLG9CQUFvQixLQUFLLFdBQVcsTUFBTTtJQUMvQyxLQUFLLE1BQU0sYUFBYSxLQUFLLFlBQ3pCLDRCQUFBLFlBQVksWUFBWSxNQUFNLFNBQVM7SUFHM0M7R0FDSixTQUNJLE1BQU0sSUFBSSxNQUFNLGtCQUFrQjtFQUMxQztFQUVBLDRCQUFBLFlBQVksWUFBWSxNQUFNLEtBQUssSUFBSTtFQUN2Qyw0QkFBQSxZQUFZLFlBQVksTUFBTSxLQUFLLGNBQWM7RUFDakQsNEJBQUEsWUFBWSxZQUFZLE1BQU0sS0FBSyxRQUFRO0NBQy9DO0FBQ0oifQ==