@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
32 lines (27 loc) • 3.74 kB
JavaScript
'use strict';
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const entity_Attribute = require('../../entity/Attribute.cjs.cjs');
const network_packet_DataPacket = require('./DataPacket.cjs.cjs');
const network_Identifiers = require('../Identifiers.cjs.cjs');
class UpdateAttributesPacket extends network_packet_DataPacket.default {
static NetID = 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 }, () => entity_Attribute.Attribute.networkDeserialize(this));
this.tick = this.readUnsignedVarLong();
}
}
exports.default = UpdateAttributesPacket;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlQXR0cmlidXRlc1BhY2tldC5janMuY2pzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9wYWNrZXQvVXBkYXRlQXR0cmlidXRlc1BhY2tldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9lbnRpdHkvQXR0cmlidXRlJztcbmltcG9ydCBEYXRhUGFja2V0IGZyb20gJy4vRGF0YVBhY2tldCc7XG5pbXBvcnQgSWRlbnRpZmllcnMgZnJvbSAnLi4vSWRlbnRpZmllcnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVcGRhdGVBdHRyaWJ1dGVzUGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLlVwZGF0ZUF0dHJpYnV0ZXNQYWNrZXQ7XG5cbiAgICBwdWJsaWMgcnVudGltZUVudGl0eUlkITogYmlnaW50O1xuICAgIHB1YmxpYyBhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSA9IFtdO1xuXG4gICAgcHVibGljIHRpY2shOiBiaWdpbnQ7XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFyTG9uZyh0aGlzLnJ1bnRpbWVFbnRpdHlJZCk7XG5cbiAgICAgICAgLy8gRW5jb2RlIGF0dHJpYnV0ZXNcbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuYXR0cmlidXRlcy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiB0aGlzLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIGF0dHJpYnV0ZS5uZXR3b3JrU2VyaWFsaXplKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFyTG9uZyh0aGlzLnRpY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bnRpbWVFbnRpdHlJZCA9IHRoaXMucmVhZFVuc2lnbmVkVmFyTG9uZygpO1xuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMucmVhZFVuc2lnbmVkVmFySW50KCk7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlcyA9IEFycmF5LmZyb20oeyBsZW5ndGggfSwgKCkgPT4gQXR0cmlidXRlLm5ldHdvcmtEZXNlcmlhbGl6ZSh0aGlzKSk7XG5cbiAgICAgICAgdGhpcy50aWNrID0gdGhpcy5yZWFkVW5zaWduZWRWYXJMb25nKCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkRhdGFQYWNrZXQiLCJJZGVudGlmaWVycyIsIkF0dHJpYnV0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSxNQUFxQiwrQkFBK0JBLGlDQUFXLENBQUE7QUFBQSxFQUMzRCxPQUFjLFFBQVFDLDJCQUFZLENBQUEsc0JBQUE7QUFBQSxFQUUzQixlQUFBO0FBQUEsRUFDQSxhQUEwQixFQUFDO0FBQUEsRUFFM0IsSUFBQTtBQUFBLEVBRUEsYUFBc0IsR0FBQTtBQUN6QixJQUFLLElBQUEsQ0FBQSxvQkFBQSxDQUFxQixLQUFLLGVBQWUsQ0FBQTtBQUc5QyxJQUFLLElBQUEsQ0FBQSxtQkFBQSxDQUFvQixJQUFLLENBQUEsVUFBQSxDQUFXLE1BQU0sQ0FBQTtBQUMvQyxJQUFXLEtBQUEsTUFBQSxTQUFBLElBQWEsS0FBSyxVQUFZLEVBQUE7QUFDckMsTUFBQSxTQUFBLENBQVUsaUJBQWlCLElBQUksQ0FBQTtBQUFBO0FBR25DLElBQUssSUFBQSxDQUFBLG9CQUFBLENBQXFCLEtBQUssSUFBSSxDQUFBO0FBQUE7QUFDdkMsRUFFTyxhQUFzQixHQUFBO0FBQ3pCLElBQUssSUFBQSxDQUFBLGVBQUEsR0FBa0IsS0FBSyxtQkFBb0IsRUFBQTtBQUVoRCxJQUFNLE1BQUEsTUFBQSxHQUFTLEtBQUssa0JBQW1CLEVBQUE7QUFDdkMsSUFBSyxJQUFBLENBQUEsVUFBQSxHQUFhLEtBQU0sQ0FBQSxJQUFBLENBQUssRUFBRSxNQUFBLElBQVUsTUFBTUMsMEJBQUEsQ0FBVSxrQkFBbUIsQ0FBQSxJQUFJLENBQUMsQ0FBQTtBQUVqRixJQUFLLElBQUEsQ0FBQSxJQUFBLEdBQU8sS0FBSyxtQkFBb0IsRUFBQTtBQUFBO0FBRTdDOzs7OyJ9