@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
26 lines (25 loc) • 3.12 kB
JavaScript
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