@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
43 lines (42 loc) • 4.1 kB
JavaScript
import { NetworkUtil } from "../NetworkUtil.es.js";
import Identifiers from "../Identifiers.es.js";
import DataPacket from "./DataPacket.es.js";
import { Vector3 } from "@jsprismarine/math";
//#region src/network/packet/AddItemActorPacket.ts
/**
* Packet for adding an dropped item to the game.
*
* **Bound To:** Client
*
* | Name | Type | Notes |
* | ---- |:----:|:-----:|
* | uniqueEntityId | VarLong | |
* | runtimeEntityId | UnsignedVarLong | |
* | item | Item | The item/block |
* | position | Vector3 (LFloat) | The entity's position |
* | motion | Vector3 (LFloat) | The entity's motion |
* | metadata | | TODO|
* | isFromFishing | Boolean | |
*/
var AddItemActorPacket = class extends DataPacket {
static NetID = Identifiers.AddItemActorPacket;
uniqueEntityId;
runtimeEntityId;
item;
position;
motion = new Vector3(0, 0, 0);
metadata;
isFromFishing = false;
encodePayload() {
this.writeVarLong(this.uniqueEntityId || this.runtimeEntityId);
this.writeUnsignedVarLong(this.runtimeEntityId);
this.item.networkSerialize(this);
NetworkUtil.writeVector3(this, this.position);
NetworkUtil.writeVector3(this, this.motion);
this.metadata.networkSerialize(this);
this.writeBoolean(this.isFromFishing);
}
};
//#endregion
export { AddItemActorPacket as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkSXRlbUFjdG9yUGFja2V0LmVzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXR3b3JrL3BhY2tldC9BZGRJdGVtQWN0b3JQYWNrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvbWF0aCc7XG5pbXBvcnQgdHlwZSB7IE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vZW50aXR5L01ldGFkYXRhJztcbmltcG9ydCB0eXBlIHsgSXRlbSB9IGZyb20gJy4uLy4uL2l0ZW0vSXRlbSc7XG5pbXBvcnQgSWRlbnRpZmllcnMgZnJvbSAnLi4vSWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgTmV0d29ya1V0aWwgfSBmcm9tICcuLi9OZXR3b3JrVXRpbCc7XG5pbXBvcnQgRGF0YVBhY2tldCBmcm9tICcuL0RhdGFQYWNrZXQnO1xuXG4vKipcbiAqIFBhY2tldCBmb3IgYWRkaW5nIGFuIGRyb3BwZWQgaXRlbSB0byB0aGUgZ2FtZS5cbiAqXG4gKiAqKkJvdW5kIFRvOioqIENsaWVudFxuICpcbiAqIHwgTmFtZSB8IFR5cGUgfCBOb3RlcyB8XG4gKiB8IC0tLS0gfDotLS0tOnw6LS0tLS06fFxuICogfCB1bmlxdWVFbnRpdHlJZCB8IFZhckxvbmcgfCB8XG4gKiB8IHJ1bnRpbWVFbnRpdHlJZCB8IFVuc2lnbmVkVmFyTG9uZyB8IHxcbiAqIHwgaXRlbSB8IEl0ZW0gfCBUaGUgaXRlbS9ibG9jayB8XG4gKiB8IHBvc2l0aW9uIHwgVmVjdG9yMyAoTEZsb2F0KSB8IFRoZSBlbnRpdHkncyBwb3NpdGlvbiB8XG4gKiB8IG1vdGlvbiB8IFZlY3RvcjMgKExGbG9hdCkgfCBUaGUgZW50aXR5J3MgbW90aW9uIHxcbiAqIHwgbWV0YWRhdGEgfCAgfCBUT0RPfFxuICogfCBpc0Zyb21GaXNoaW5nIHwgQm9vbGVhbiB8IHxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWRkSXRlbUFjdG9yUGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLkFkZEl0ZW1BY3RvclBhY2tldDtcblxuICAgIHB1YmxpYyB1bmlxdWVFbnRpdHlJZCE6IGJpZ2ludDtcbiAgICBwdWJsaWMgcnVudGltZUVudGl0eUlkITogYmlnaW50O1xuICAgIHB1YmxpYyBpdGVtITogSXRlbTtcbiAgICBwdWJsaWMgcG9zaXRpb24hOiBWZWN0b3IzO1xuICAgIHB1YmxpYyBtb3Rpb24gPSBuZXcgVmVjdG9yMygwLCAwLCAwKTtcblxuICAgIHB1YmxpYyBtZXRhZGF0YSE6IE1ldGFkYXRhO1xuICAgIHB1YmxpYyBpc0Zyb21GaXNoaW5nID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVZhckxvbmcodGhpcy51bmlxdWVFbnRpdHlJZCB8fCB0aGlzLnJ1bnRpbWVFbnRpdHlJZCk7XG4gICAgICAgIHRoaXMud3JpdGVVbnNpZ25lZFZhckxvbmcodGhpcy5ydW50aW1lRW50aXR5SWQpO1xuXG4gICAgICAgIHRoaXMuaXRlbS5uZXR3b3JrU2VyaWFsaXplKHRoaXMpO1xuXG4gICAgICAgIE5ldHdvcmtVdGlsLndyaXRlVmVjdG9yMyh0aGlzLCB0aGlzLnBvc2l0aW9uKTtcbiAgICAgICAgTmV0d29ya1V0aWwud3JpdGVWZWN0b3IzKHRoaXMsIHRoaXMubW90aW9uKTtcblxuICAgICAgICB0aGlzLm1ldGFkYXRhLm5ldHdvcmtTZXJpYWxpemUodGhpcyk7XG5cbiAgICAgICAgdGhpcy53cml0ZUJvb2xlYW4odGhpcy5pc0Zyb21GaXNoaW5nKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLElBQXFCLHFCQUFyQixjQUFnRCxXQUFXO0NBQ3ZELE9BQWMsUUFBUSxZQUFZO0NBRWxDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0EsU0FBZ0IsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDO0NBRW5DO0NBQ0EsZ0JBQXVCO0NBRXZCLGdCQUE2QjtFQUN6QixLQUFLLGFBQWEsS0FBSyxrQkFBa0IsS0FBSyxlQUFlO0VBQzdELEtBQUsscUJBQXFCLEtBQUssZUFBZTtFQUU5QyxLQUFLLEtBQUssaUJBQWlCLElBQUk7RUFFL0IsWUFBWSxhQUFhLE1BQU0sS0FBSyxRQUFRO0VBQzVDLFlBQVksYUFBYSxNQUFNLEtBQUssTUFBTTtFQUUxQyxLQUFLLFNBQVMsaUJBQWlCLElBQUk7RUFFbkMsS0FBSyxhQUFhLEtBQUssYUFBYTtDQUN4QztBQUNKIn0=