Files
MinecraftConsoles/Minecraft.World/PlayerAbilitiesPacket.h
Loki Rautio 087b7e7abf Revert "Project modernization (#630)"
This code was not tested and breaks in Release builds, reverting to restore
functionality of the nightly. All in-game menus do not work and generating
a world crashes.

This reverts commit a9be52c41a.
2026-03-07 21:12:22 -06:00

49 lines
1.2 KiB
C++

#pragma once
#include "Packet.h"
class Abilities;
class PlayerAbilitiesPacket : public Packet, public enable_shared_from_this<PlayerAbilitiesPacket>
{
private:
static const int FLAG_INVULNERABLE = 1 << 0;
static const int FLAG_FLYING = 1 << 1;
static const int FLAG_CAN_FLY = 1 << 2;
static const int FLAG_INSTABUILD = 1 << 3;
bool invulnerable;
bool _isFlying;
bool _canFly;
bool instabuild;
float flyingSpeed;
float walkingSpeed;
public:
PlayerAbilitiesPacket();
PlayerAbilitiesPacket(Abilities *abilities);
void read(DataInputStream *dis);
void write(DataOutputStream *dos);
void handle(PacketListener *listener);
int getEstimatedSize();
//wstring getDebugInfo();
bool isInvulnerable();
void setInvulnerable(bool invulnerable);
bool isFlying();
void setFlying(bool flying);
bool canFly();
void setCanFly(bool canFly);
bool canInstabuild();
void setInstabuild(bool instabuild);
float getFlyingSpeed();
void setFlyingSpeed(float flySpeed);
float getWalkingSpeed();
void setWalkingSpeed(float walkingSpeed);
bool canBeInvalidated();
bool isInvalidatedBy(shared_ptr<Packet> packet);
public:
static shared_ptr<Packet> create() { return shared_ptr<Packet>(new PlayerAbilitiesPacket()); }
virtual int getId() { return 202; }
};