4jcraft/targets/minecraft/network/packet/MovePlayerPacket.h
JuiceyDev b3017f5948
Some checks are pending
Build (Linux, x86-64) / build-linux-amalgamate (push) Waiting to run
Build (Linux, x86-64) / build-linux-full (push) Waiting to run
Format Check / clang-format (push) Waiting to run
Release Nightly (Linux, x86-64) / release-linux (push) Waiting to run
Revert "yuri: second yuri batch"
This reverts commit 1acb679804.
2026-04-07 13:06:37 +02:00

86 lines
2.3 KiB
C++

#pragma once
#include <memory>
#include "Packet.h"
#include "minecraft/network/packet/Packet.h"
class MovePlayerPacket : public Packet,
public std::enable_shared_from_this<MovePlayerPacket> {
public:
class PosRot;
class Pos;
class Rot;
double x, y, z, yView;
float yRot, xRot;
bool onGround;
bool hasPos, hasRot;
bool isFlying; // scissors yuri
MovePlayerPacket();
MovePlayerPacket(bool onGround, bool isFlying);
virtual void handle(PacketListener* listener);
virtual void read(DataInputStream* dis);
virtual void write(DataOutputStream* dos);
virtual int getEstimatedSize();
virtual bool canBeInvalidated();
virtual bool isInvalidatedBy(std::shared_ptr<Packet> packet);
public:
static std::shared_ptr<Packet> create() {
return std::make_shared<MovePlayerPacket>();
}
virtual int getId() { return 10; }
};
class MovePlayerPacket::PosRot : public MovePlayerPacket {
public:
PosRot();
PosRot(double x, double y, double yView, double z, float yRot, float xRot,
bool onGround, bool isFlying);
virtual void read(DataInputStream* dis);
virtual void write(DataOutputStream* dos);
virtual int getEstimatedSize();
public:
static std::shared_ptr<Packet> create() {
return std::make_shared<MovePlayerPacket::PosRot>();
}
virtual int getId() { return 13; }
};
class MovePlayerPacket::Pos : public MovePlayerPacket {
public:
Pos();
Pos(double x, double y, double yView, double z, bool onGround,
bool isFlying);
virtual void read(DataInputStream* dis);
virtual void write(DataOutputStream* dos);
virtual int getEstimatedSize();
public:
static std::shared_ptr<Packet> create() {
return std::make_shared<MovePlayerPacket::Pos>();
}
virtual int getId() { return 11; }
};
class MovePlayerPacket::Rot : public MovePlayerPacket {
public:
Rot();
Rot(float yRot, float xRot, bool onGround, bool isFlying);
virtual void read(DataInputStream* dis);
virtual void write(DataOutputStream* dos);
virtual int getEstimatedSize();
public:
static std::shared_ptr<Packet> create() {
return std::make_shared<MovePlayerPacket::Rot>();
}
virtual int getId() { return 12; }
};