@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
43 lines (40 loc) • 6.29 kB
JavaScript
import { Vector3 } from '@jsprismarine/math';
import Identifiers from '../Identifiers.es.js';
import { NetworkUtil } from '../NetworkUtil.es.js';
import DataPacket from './DataPacket.es.js';
class AddActorPacket extends DataPacket {
static NetID = Identifiers.AddActorPacket;
uniqueEntityId;
runtimeEntityId;
type;
position = new Vector3(0, 0, 0);
motion = new Vector3(0, 0, 0);
pitch;
yaw;
headYaw;
attributes = [];
metadata;
links = [];
encodePayload() {
this.writeVarLong(this.uniqueEntityId || this.runtimeEntityId);
this.writeUnsignedVarLong(this.runtimeEntityId);
NetworkUtil.writeString(this, this.type);
this.writeFloatLE(this.position.getX());
this.writeFloatLE(this.position.getY());
this.writeFloatLE(this.position.getZ());
this.writeFloatLE(this.motion.getX());
this.writeFloatLE(this.motion.getY());
this.writeFloatLE(this.motion.getZ());
this.writeFloatLE(this.pitch);
this.writeFloatLE(this.yaw);
this.writeFloatLE(this.headYaw);
this.writeFloatLE(this.yaw);
this.writeUnsignedVarInt(0);
this.metadata.networkSerialize(this);
this.writeUnsignedVarInt(0);
this.writeUnsignedVarInt(0);
this.writeUnsignedVarInt(this.links.length);
}
}
export { AddActorPacket as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkQWN0b3JQYWNrZXQuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXR3b3JrL3BhY2tldC9BZGRBY3RvclBhY2tldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZWN0b3IzIH0gZnJvbSAnQGpzcHJpc21hcmluZS9tYXRoJztcbmltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9lbnRpdHkvTWV0YWRhdGEnO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCB7IE5ldHdvcmtVdGlsIH0gZnJvbSAnLi4vTmV0d29ya1V0aWwnO1xuaW1wb3J0IERhdGFQYWNrZXQgZnJvbSAnLi9EYXRhUGFja2V0JztcblxuLyoqXG4gKiBQYWNrZXQgZm9yIGFkZGluZyBhbiBlbnRpdHkgdG8gdGhlIGdhbWUuXG4gKlxuICogKipCb3VuZCBUbzoqKiBDbGllbnRcbiAqXG4gKiB8IE5hbWUgfCBUeXBlIHwgTm90ZXMgfFxuICogfCAtLS0tIHw6LS0tLTp8Oi0tLS0tOnxcbiAqIHwgdW5pcXVlRW50aXR5SWQgfCBWYXJMb25nIHwgfFxuICogfCBydW50aW1lRW50aXR5SWQgfCBVbnNpZ25lZFZhckxvbmcgfCB8XG4gKiB8IHR5cGUgfCBTdHJpbmcgfCBUaGUgbmFtZXNwYWNlZCBlbnRpdHkgSUQgfFxuICogfCBwb3NpdGlvbiB8IFZlY3RvcjMgKExGbG9hdCkgfCBUaGUgZW50aXR5J3MgcG9zaXRpb24gfFxuICogfCBtb3Rpb24gfCBWZWN0b3IzIChMRmxvYXQpIHwgVGhlIGVudGl0eSdzIG1vdGlvbiB8XG4gKiB8IHBpdGNoIHwgTEZsb2F0IHwgIHxcbiAqIHwgeWF3IHwgTEZsb2F0IHwgIHxcbiAqIHwgaGVhZFlhdyB8IExGbG9hdCB8ICB8XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFkZEFjdG9yUGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLkFkZEFjdG9yUGFja2V0O1xuXG4gICAgcHVibGljIHVuaXF1ZUVudGl0eUlkITogYmlnaW50O1xuICAgIHB1YmxpYyBydW50aW1lRW50aXR5SWQhOiBiaWdpbnQ7XG4gICAgcHVibGljIHR5cGUhOiBzdHJpbmc7XG4gICAgcHVibGljIHBvc2l0aW9uOiBWZWN0b3IzID0gbmV3IFZlY3RvcjMoMCwgMCwgMCk7XG4gICAgcHVibGljIG1vdGlvbjogVmVjdG9yMyA9IG5ldyBWZWN0b3IzKDAsIDAsIDApO1xuICAgIHB1YmxpYyBwaXRjaCE6IG51bWJlcjtcbiAgICBwdWJsaWMgeWF3ITogbnVtYmVyO1xuICAgIHB1YmxpYyBoZWFkWWF3ITogbnVtYmVyO1xuXG4gICAgcHVibGljIGF0dHJpYnV0ZXMgPSBbXTtcbiAgICBwdWJsaWMgbWV0YWRhdGEhOiBNZXRhZGF0YTtcbiAgICBwdWJsaWMgbGlua3MgPSBbXTtcblxuICAgIHB1YmxpYyBlbmNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlVmFyTG9uZyh0aGlzLnVuaXF1ZUVudGl0eUlkIHx8IHRoaXMucnVudGltZUVudGl0eUlkKTtcbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFyTG9uZyh0aGlzLnJ1bnRpbWVFbnRpdHlJZCk7XG5cbiAgICAgICAgTmV0d29ya1V0aWwud3JpdGVTdHJpbmcodGhpcywgdGhpcy50eXBlKTtcblxuICAgICAgICB0aGlzLndyaXRlRmxvYXRMRSh0aGlzLnBvc2l0aW9uLmdldFgoKSk7XG4gICAgICAgIHRoaXMud3JpdGVGbG9hdExFKHRoaXMucG9zaXRpb24uZ2V0WSgpKTtcbiAgICAgICAgdGhpcy53cml0ZUZsb2F0TEUodGhpcy5wb3NpdGlvbi5nZXRaKCkpO1xuXG4gICAgICAgIHRoaXMud3JpdGVGbG9hdExFKHRoaXMubW90aW9uLmdldFgoKSk7XG4gICAgICAgIHRoaXMud3JpdGVGbG9hdExFKHRoaXMubW90aW9uLmdldFkoKSk7XG4gICAgICAgIHRoaXMud3JpdGVGbG9hdExFKHRoaXMubW90aW9uLmdldFooKSk7XG5cbiAgICAgICAgdGhpcy53cml0ZUZsb2F0TEUodGhpcy5waXRjaCk7XG4gICAgICAgIHRoaXMud3JpdGVGbG9hdExFKHRoaXMueWF3KTtcbiAgICAgICAgdGhpcy53cml0ZUZsb2F0TEUodGhpcy5oZWFkWWF3KTtcbiAgICAgICAgdGhpcy53cml0ZUZsb2F0TEUodGhpcy55YXcpOyAvLyBib2R5WWF3XG5cbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFySW50KDApOyAvLyBUT0RPOiBhdHRyaWJ1dGVzLlxuICAgICAgICB0aGlzLm1ldGFkYXRhLm5ldHdvcmtTZXJpYWxpemUodGhpcyk7XG5cbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFySW50KDApOyAvLyA/IHVua25vd25cbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFySW50KDApOyAvLyA/IHVua25vd25cblxuICAgICAgICAvLyBUT0RPOiBsaW5rc1xuICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJJbnQodGhpcy5saW5rcy5sZW5ndGgpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXNCQSxNQUFxQix1QkFBdUIsVUFBVyxDQUFBO0FBQUEsRUFDbkQsT0FBYyxRQUFRLFdBQVksQ0FBQSxjQUFBO0FBQUEsRUFFM0IsY0FBQTtBQUFBLEVBQ0EsZUFBQTtBQUFBLEVBQ0EsSUFBQTtBQUFBLEVBQ0EsUUFBb0IsR0FBQSxJQUFJLE9BQVEsQ0FBQSxDQUFBLEVBQUcsR0FBRyxDQUFDLENBQUE7QUFBQSxFQUN2QyxNQUFrQixHQUFBLElBQUksT0FBUSxDQUFBLENBQUEsRUFBRyxHQUFHLENBQUMsQ0FBQTtBQUFBLEVBQ3JDLEtBQUE7QUFBQSxFQUNBLEdBQUE7QUFBQSxFQUNBLE9BQUE7QUFBQSxFQUVBLGFBQWEsRUFBQztBQUFBLEVBQ2QsUUFBQTtBQUFBLEVBQ0EsUUFBUSxFQUFDO0FBQUEsRUFFVCxhQUFzQixHQUFBO0FBQ3pCLElBQUEsSUFBQSxDQUFLLFlBQWEsQ0FBQSxJQUFBLENBQUssY0FBa0IsSUFBQSxJQUFBLENBQUssZUFBZSxDQUFBO0FBQzdELElBQUssSUFBQSxDQUFBLG9CQUFBLENBQXFCLEtBQUssZUFBZSxDQUFBO0FBRTlDLElBQVksV0FBQSxDQUFBLFdBQUEsQ0FBWSxJQUFNLEVBQUEsSUFBQSxDQUFLLElBQUksQ0FBQTtBQUV2QyxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUN0QyxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUN0QyxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUV0QyxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBQSxDQUFLLE1BQU8sQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUNwQyxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBQSxDQUFLLE1BQU8sQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUNwQyxJQUFBLElBQUEsQ0FBSyxZQUFhLENBQUEsSUFBQSxDQUFLLE1BQU8sQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUVwQyxJQUFLLElBQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxLQUFLLENBQUE7QUFDNUIsSUFBSyxJQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssR0FBRyxDQUFBO0FBQzFCLElBQUssSUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLE9BQU8sQ0FBQTtBQUM5QixJQUFLLElBQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxHQUFHLENBQUE7QUFFMUIsSUFBQSxJQUFBLENBQUssb0JBQW9CLENBQUMsQ0FBQTtBQUMxQixJQUFLLElBQUEsQ0FBQSxRQUFBLENBQVMsaUJBQWlCLElBQUksQ0FBQTtBQUVuQyxJQUFBLElBQUEsQ0FBSyxvQkFBb0IsQ0FBQyxDQUFBO0FBQzFCLElBQUEsSUFBQSxDQUFLLG9CQUFvQixDQUFDLENBQUE7QUFHMUIsSUFBSyxJQUFBLENBQUEsbUJBQUEsQ0FBb0IsSUFBSyxDQUFBLEtBQUEsQ0FBTSxNQUFNLENBQUE7QUFBQTtBQUVsRDs7OzsifQ==