UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

26 lines (25 loc) 3.12 kB
import Identifiers from "../Identifiers.es.js"; import DataPacket from "./DataPacket.es.js"; import { Attribute } from "../../entity/Attribute.es.js"; //#region src/network/packet/UpdateAttributesPacket.ts var UpdateAttributesPacket = class extends DataPacket { static NetID = Identifiers.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 }, () => Attribute.networkDeserialize(this)); this.tick = this.readUnsignedVarLong(); } }; //#endregion export { UpdateAttributesPacket as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlQXR0cmlidXRlc1BhY2tldC5lcy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9wYWNrZXQvVXBkYXRlQXR0cmlidXRlc1BhY2tldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9lbnRpdHkvQXR0cmlidXRlJztcbmltcG9ydCBEYXRhUGFja2V0IGZyb20gJy4vRGF0YVBhY2tldCc7XG5pbXBvcnQgSWRlbnRpZmllcnMgZnJvbSAnLi4vSWRlbnRpZmllcnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVcGRhdGVBdHRyaWJ1dGVzUGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLlVwZGF0ZUF0dHJpYnV0ZXNQYWNrZXQ7XG5cbiAgICBwdWJsaWMgcnVudGltZUVudGl0eUlkITogYmlnaW50O1xuICAgIHB1YmxpYyBhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSA9IFtdO1xuXG4gICAgcHVibGljIHRpY2shOiBiaWdpbnQ7XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFyTG9uZyh0aGlzLnJ1bnRpbWVFbnRpdHlJZCk7XG5cbiAgICAgICAgLy8gRW5jb2RlIGF0dHJpYnV0ZXNcbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuYXR0cmlidXRlcy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiB0aGlzLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIGF0dHJpYnV0ZS5uZXR3b3JrU2VyaWFsaXplKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFyTG9uZyh0aGlzLnRpY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bnRpbWVFbnRpdHlJZCA9IHRoaXMucmVhZFVuc2lnbmVkVmFyTG9uZygpO1xuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMucmVhZFVuc2lnbmVkVmFySW50KCk7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlcyA9IEFycmF5LmZyb20oeyBsZW5ndGggfSwgKCkgPT4gQXR0cmlidXRlLm5ldHdvcmtEZXNlcmlhbGl6ZSh0aGlzKSk7XG5cbiAgICAgICAgdGhpcy50aWNrID0gdGhpcy5yZWFkVW5zaWduZWRWYXJMb25nKCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBSUEsSUFBcUIseUJBQXJCLGNBQW9ELFdBQVc7Q0FDM0QsT0FBYyxRQUFRLFlBQVk7Q0FFbEM7Q0FDQSxhQUFpQyxDQUFDO0NBRWxDO0NBRUEsZ0JBQTZCO0VBQ3pCLEtBQUsscUJBQXFCLEtBQUssZUFBZTtFQUc5QyxLQUFLLG9CQUFvQixLQUFLLFdBQVcsTUFBTTtFQUMvQyxLQUFLLE1BQU0sYUFBYSxLQUFLLFlBQ3pCLFVBQVUsaUJBQWlCLElBQUk7RUFHbkMsS0FBSyxxQkFBcUIsS0FBSyxJQUFJO0NBQ3ZDO0NBRUEsZ0JBQTZCO0VBQ3pCLEtBQUssa0JBQWtCLEtBQUssb0JBQW9CO0VBRWhELE1BQU0sU0FBUyxLQUFLLG1CQUFtQjtFQUN2QyxLQUFLLGFBQWEsTUFBTSxLQUFLLEVBQUUsT0FBTyxTQUFTLFVBQVUsbUJBQW1CLElBQUksQ0FBQztFQUVqRixLQUFLLE9BQU8sS0FBSyxvQkFBb0I7Q0FDekM7QUFDSiJ9