@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
92 lines (91 loc) • 10.7 kB
JavaScript
"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==