@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
53 lines (50 loc) • 6.54 kB
JavaScript
import Identifiers from '../Identifiers.es.js';
import { NetworkUtil } from '../NetworkUtil.es.js';
import MovementType from '../type/MovementType.es.js';
import DataPacket from './DataPacket.es.js';
class MovePlayerPacket extends DataPacket {
static NetID = Identifiers.MovePlayerPacket;
runtimeEntityId;
position;
pitch;
yaw;
headYaw;
mode;
onGround;
ridingEntityRuntimeId;
teleportCause;
teleportItemId;
tick;
decodePayload() {
this.runtimeEntityId = this.readUnsignedVarLong();
this.position = NetworkUtil.readVector3(this);
this.pitch = this.readFloatLE();
this.yaw = this.readFloatLE();
this.headYaw = this.readFloatLE();
this.mode = this.readByte();
this.onGround = this.readBoolean();
this.ridingEntityRuntimeId = this.readUnsignedVarLong();
if (this.mode === MovementType.Teleport) {
this.teleportCause = this.readIntLE();
this.teleportItemId = this.readIntLE();
}
this.tick = this.readUnsignedVarLong();
}
encodePayload() {
this.writeUnsignedVarLong(this.runtimeEntityId);
NetworkUtil.writeVector3(this, this.position);
this.writeFloatLE(this.pitch);
this.writeFloatLE(this.yaw);
this.writeFloatLE(this.headYaw);
this.writeByte(this.mode);
this.writeBoolean(this.onGround);
this.writeUnsignedVarLong(this.ridingEntityRuntimeId);
if (this.mode === MovementType.Teleport) {
this.writeIntLE(this.teleportCause);
this.writeIntLE(this.teleportItemId);
}
this.writeUnsignedVarLong(this.tick);
}
}
export { MovePlayerPacket as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW92ZVBsYXllclBhY2tldC5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25ldHdvcmsvcGFja2V0L01vdmVQbGF5ZXJQYWNrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBWZWN0b3IzIH0gZnJvbSAnQGpzcHJpc21hcmluZS9tYXRoJztcbmltcG9ydCBJZGVudGlmaWVycyBmcm9tICcuLi9JZGVudGlmaWVycyc7XG5pbXBvcnQgeyBOZXR3b3JrVXRpbCB9IGZyb20gJy4uL05ldHdvcmtVdGlsJztcbmltcG9ydCBNb3ZlbWVudFR5cGUgZnJvbSAnLi4vdHlwZS9Nb3ZlbWVudFR5cGUnO1xuaW1wb3J0IERhdGFQYWNrZXQgZnJvbSAnLi9EYXRhUGFja2V0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW92ZVBsYXllclBhY2tldCBleHRlbmRzIERhdGFQYWNrZXQge1xuICAgIHB1YmxpYyBzdGF0aWMgTmV0SUQgPSBJZGVudGlmaWVycy5Nb3ZlUGxheWVyUGFja2V0O1xuXG4gICAgcHVibGljIHJ1bnRpbWVFbnRpdHlJZCE6IGJpZ2ludDtcblxuICAgIHB1YmxpYyBwb3NpdGlvbiE6IFZlY3RvcjM7XG5cbiAgICBwdWJsaWMgcGl0Y2ghOiBudW1iZXI7XG4gICAgcHVibGljIHlhdyE6IG51bWJlcjtcbiAgICBwdWJsaWMgaGVhZFlhdyE6IG51bWJlcjtcblxuICAgIHB1YmxpYyBtb2RlITogbnVtYmVyO1xuXG4gICAgcHVibGljIG9uR3JvdW5kITogYm9vbGVhbjtcblxuICAgIHB1YmxpYyByaWRpbmdFbnRpdHlSdW50aW1lSWQhOiBiaWdpbnQ7XG5cbiAgICBwdWJsaWMgdGVsZXBvcnRDYXVzZSE6IG51bWJlcjtcbiAgICBwdWJsaWMgdGVsZXBvcnRJdGVtSWQhOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgdGljayE6IGJpZ2ludDtcblxuICAgIHB1YmxpYyBkZWNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bnRpbWVFbnRpdHlJZCA9IHRoaXMucmVhZFVuc2lnbmVkVmFyTG9uZygpO1xuXG4gICAgICAgIHRoaXMucG9zaXRpb24gPSBOZXR3b3JrVXRpbC5yZWFkVmVjdG9yMyh0aGlzKTtcbiAgICAgICAgdGhpcy5waXRjaCA9IHRoaXMucmVhZEZsb2F0TEUoKTtcbiAgICAgICAgdGhpcy55YXcgPSB0aGlzLnJlYWRGbG9hdExFKCk7XG4gICAgICAgIHRoaXMuaGVhZFlhdyA9IHRoaXMucmVhZEZsb2F0TEUoKTtcblxuICAgICAgICB0aGlzLm1vZGUgPSB0aGlzLnJlYWRCeXRlKCk7XG4gICAgICAgIHRoaXMub25Hcm91bmQgPSB0aGlzLnJlYWRCb29sZWFuKCk7XG4gICAgICAgIHRoaXMucmlkaW5nRW50aXR5UnVudGltZUlkID0gdGhpcy5yZWFkVW5zaWduZWRWYXJMb25nKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gTW92ZW1lbnRUeXBlLlRlbGVwb3J0KSB7XG4gICAgICAgICAgICB0aGlzLnRlbGVwb3J0Q2F1c2UgPSB0aGlzLnJlYWRJbnRMRSgpO1xuICAgICAgICAgICAgdGhpcy50ZWxlcG9ydEl0ZW1JZCA9IHRoaXMucmVhZEludExFKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRpY2sgPSB0aGlzLnJlYWRVbnNpZ25lZFZhckxvbmcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFyTG9uZyh0aGlzLnJ1bnRpbWVFbnRpdHlJZCk7XG5cbiAgICAgICAgTmV0d29ya1V0aWwud3JpdGVWZWN0b3IzKHRoaXMsIHRoaXMucG9zaXRpb24pO1xuICAgICAgICB0aGlzLndyaXRlRmxvYXRMRSh0aGlzLnBpdGNoKTtcbiAgICAgICAgdGhpcy53cml0ZUZsb2F0TEUodGhpcy55YXcpO1xuICAgICAgICB0aGlzLndyaXRlRmxvYXRMRSh0aGlzLmhlYWRZYXcpO1xuXG4gICAgICAgIHRoaXMud3JpdGVCeXRlKHRoaXMubW9kZSk7XG4gICAgICAgIHRoaXMud3JpdGVCb29sZWFuKHRoaXMub25Hcm91bmQpO1xuICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJMb25nKHRoaXMucmlkaW5nRW50aXR5UnVudGltZUlkKTtcblxuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBNb3ZlbWVudFR5cGUuVGVsZXBvcnQpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVJbnRMRSh0aGlzLnRlbGVwb3J0Q2F1c2UpO1xuICAgICAgICAgICAgdGhpcy53cml0ZUludExFKHRoaXMudGVsZXBvcnRJdGVtSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cml0ZVVuc2lnbmVkVmFyTG9uZyh0aGlzLnRpY2spO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQU1BLE1BQXFCLHlCQUF5QixVQUFXLENBQUE7QUFBQSxFQUNyRCxPQUFjLFFBQVEsV0FBWSxDQUFBLGdCQUFBO0FBQUEsRUFFM0IsZUFBQTtBQUFBLEVBRUEsUUFBQTtBQUFBLEVBRUEsS0FBQTtBQUFBLEVBQ0EsR0FBQTtBQUFBLEVBQ0EsT0FBQTtBQUFBLEVBRUEsSUFBQTtBQUFBLEVBRUEsUUFBQTtBQUFBLEVBRUEscUJBQUE7QUFBQSxFQUVBLGFBQUE7QUFBQSxFQUNBLGNBQUE7QUFBQSxFQUVBLElBQUE7QUFBQSxFQUVBLGFBQXNCLEdBQUE7QUFDekIsSUFBSyxJQUFBLENBQUEsZUFBQSxHQUFrQixLQUFLLG1CQUFvQixFQUFBO0FBRWhELElBQUssSUFBQSxDQUFBLFFBQUEsR0FBVyxXQUFZLENBQUEsV0FBQSxDQUFZLElBQUksQ0FBQTtBQUM1QyxJQUFLLElBQUEsQ0FBQSxLQUFBLEdBQVEsS0FBSyxXQUFZLEVBQUE7QUFDOUIsSUFBSyxJQUFBLENBQUEsR0FBQSxHQUFNLEtBQUssV0FBWSxFQUFBO0FBQzVCLElBQUssSUFBQSxDQUFBLE9BQUEsR0FBVSxLQUFLLFdBQVksRUFBQTtBQUVoQyxJQUFLLElBQUEsQ0FBQSxJQUFBLEdBQU8sS0FBSyxRQUFTLEVBQUE7QUFDMUIsSUFBSyxJQUFBLENBQUEsUUFBQSxHQUFXLEtBQUssV0FBWSxFQUFBO0FBQ2pDLElBQUssSUFBQSxDQUFBLHFCQUFBLEdBQXdCLEtBQUssbUJBQW9CLEVBQUE7QUFFdEQsSUFBSSxJQUFBLElBQUEsQ0FBSyxJQUFTLEtBQUEsWUFBQSxDQUFhLFFBQVUsRUFBQTtBQUNyQyxNQUFLLElBQUEsQ0FBQSxhQUFBLEdBQWdCLEtBQUssU0FBVSxFQUFBO0FBQ3BDLE1BQUssSUFBQSxDQUFBLGNBQUEsR0FBaUIsS0FBSyxTQUFVLEVBQUE7QUFBQTtBQUd6QyxJQUFLLElBQUEsQ0FBQSxJQUFBLEdBQU8sS0FBSyxtQkFBb0IsRUFBQTtBQUFBO0FBQ3pDLEVBRU8sYUFBc0IsR0FBQTtBQUN6QixJQUFLLElBQUEsQ0FBQSxvQkFBQSxDQUFxQixLQUFLLGVBQWUsQ0FBQTtBQUU5QyxJQUFZLFdBQUEsQ0FBQSxZQUFBLENBQWEsSUFBTSxFQUFBLElBQUEsQ0FBSyxRQUFRLENBQUE7QUFDNUMsSUFBSyxJQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssS0FBSyxDQUFBO0FBQzVCLElBQUssSUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLEdBQUcsQ0FBQTtBQUMxQixJQUFLLElBQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxPQUFPLENBQUE7QUFFOUIsSUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssSUFBSSxDQUFBO0FBQ3hCLElBQUssSUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLFFBQVEsQ0FBQTtBQUMvQixJQUFLLElBQUEsQ0FBQSxvQkFBQSxDQUFxQixLQUFLLHFCQUFxQixDQUFBO0FBRXBELElBQUksSUFBQSxJQUFBLENBQUssSUFBUyxLQUFBLFlBQUEsQ0FBYSxRQUFVLEVBQUE7QUFDckMsTUFBSyxJQUFBLENBQUEsVUFBQSxDQUFXLEtBQUssYUFBYSxDQUFBO0FBQ2xDLE1BQUssSUFBQSxDQUFBLFVBQUEsQ0FBVyxLQUFLLGNBQWMsQ0FBQTtBQUFBO0FBR3ZDLElBQUssSUFBQSxDQUFBLG9CQUFBLENBQXFCLEtBQUssSUFBSSxDQUFBO0FBQUE7QUFFM0M7Ozs7In0=