@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
31 lines (30 loc) • 3.43 kB
JavaScript
"use strict";
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
const require_network_Identifiers = require("../Identifiers.cjs.cjs");
const require_network_packet_DataPacket = require("./DataPacket.cjs.cjs");
const require_entity_Attribute = require("../../entity/Attribute.cjs.cjs");
//#region src/network/packet/UpdateAttributesPacket.ts
var UpdateAttributesPacket = class extends require_network_packet_DataPacket.default {
static NetID = require_network_Identifiers.default.UpdateAttributesPacket;
runtimeEntityId;
attributes = [];
tick;
encodePayload() {
this.writeUnsignedVarLong(this.runtimeEntityId);
this.writeUnsignedVarInt(this.attributes.length);
for (const attribute of this.attributes) attribute.networkSerialize(this);
this.writeUnsignedVarLong(this.tick);
}
decodePayload() {
this.runtimeEntityId = this.readUnsignedVarLong();
const length = this.readUnsignedVarInt();
this.attributes = Array.from({ length }, () => require_entity_Attribute.Attribute.networkDeserialize(this));
this.tick = this.readUnsignedVarLong();
}
};
//#endregion
exports.default = UpdateAttributesPacket;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlQXR0cmlidXRlc1BhY2tldC5janMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXR3b3JrL3BhY2tldC9VcGRhdGVBdHRyaWJ1dGVzUGFja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2VudGl0eS9BdHRyaWJ1dGUnO1xuaW1wb3J0IERhdGFQYWNrZXQgZnJvbSAnLi9EYXRhUGFja2V0JztcbmltcG9ydCBJZGVudGlmaWVycyBmcm9tICcuLi9JZGVudGlmaWVycyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVwZGF0ZUF0dHJpYnV0ZXNQYWNrZXQgZXh0ZW5kcyBEYXRhUGFja2V0IHtcbiAgICBwdWJsaWMgc3RhdGljIE5ldElEID0gSWRlbnRpZmllcnMuVXBkYXRlQXR0cmlidXRlc1BhY2tldDtcblxuICAgIHB1YmxpYyBydW50aW1lRW50aXR5SWQhOiBiaWdpbnQ7XG4gICAgcHVibGljIGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdID0gW107XG5cbiAgICBwdWJsaWMgdGljayE6IGJpZ2ludDtcblxuICAgIHB1YmxpYyBlbmNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJMb25nKHRoaXMucnVudGltZUVudGl0eUlkKTtcblxuICAgICAgICAvLyBFbmNvZGUgYXR0cmlidXRlc1xuICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJJbnQodGhpcy5hdHRyaWJ1dGVzLmxlbmd0aCk7XG4gICAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIHRoaXMuYXR0cmlidXRlcykge1xuICAgICAgICAgICAgYXR0cmlidXRlLm5ldHdvcmtTZXJpYWxpemUodGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJMb25nKHRoaXMudGljayk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVudGltZUVudGl0eUlkID0gdGhpcy5yZWFkVW5zaWduZWRWYXJMb25nKCk7XG5cbiAgICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBBdHRyaWJ1dGUubmV0d29ya0Rlc2VyaWFsaXplKHRoaXMpKTtcblxuICAgICAgICB0aGlzLnRpY2sgPSB0aGlzLnJlYWRVbnNpZ25lZFZhckxvbmcoKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUlBLElBQXFCLHlCQUFyQixjQUFvRCxrQ0FBQSxRQUFXO0NBQzNELE9BQWMsUUFBUSw0QkFBQSxRQUFZO0NBRWxDO0NBQ0EsYUFBaUMsQ0FBQztDQUVsQztDQUVBLGdCQUE2QjtFQUN6QixLQUFLLHFCQUFxQixLQUFLLGVBQWU7RUFHOUMsS0FBSyxvQkFBb0IsS0FBSyxXQUFXLE1BQU07RUFDL0MsS0FBSyxNQUFNLGFBQWEsS0FBSyxZQUN6QixVQUFVLGlCQUFpQixJQUFJO0VBR25DLEtBQUsscUJBQXFCLEtBQUssSUFBSTtDQUN2QztDQUVBLGdCQUE2QjtFQUN6QixLQUFLLGtCQUFrQixLQUFLLG9CQUFvQjtFQUVoRCxNQUFNLFNBQVMsS0FBSyxtQkFBbUI7RUFDdkMsS0FBSyxhQUFhLE1BQU0sS0FBSyxFQUFFLE9BQU8sU0FBUyx5QkFBQSxVQUFVLG1CQUFtQixJQUFJLENBQUM7RUFFakYsS0FBSyxPQUFPLEtBQUssb0JBQW9CO0NBQ3pDO0FBQ0oifQ==