Files
MinecraftConsoles/Minecraft.World/PlayerAbilitiesPacket.h
ModMaker101 a9be52c41a Project modernization (#630)
* Fixed boats falling and a TP glitch #266

* Replaced every C-style cast with C++ ones

* Replaced every C-style cast with C++ ones

* Fixed boats falling and a TP glitch #266

* Updated NULL to nullptr and fixing some type issues

* Modernized and fixed a few bugs

- Replaced most instances of `NULL` with `nullptr`.
- Replaced most `shared_ptr(new ...)` with `make_shared`.
- Removed the `nullptr` macro as it was interfering with the actual nullptr keyword in some instances.

* Fixing more conflicts

* Replace int loops with size_t and start work on overrides
2026-03-08 09:56:03 +07: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 std::make_shared<PlayerAbilitiesPacket>(); }
virtual int getId() { return 202; }
};