From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.World/PlayerAbilitiesPacket.h | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Minecraft.World/PlayerAbilitiesPacket.h (limited to 'Minecraft.World/PlayerAbilitiesPacket.h') diff --git a/Minecraft.World/PlayerAbilitiesPacket.h b/Minecraft.World/PlayerAbilitiesPacket.h new file mode 100644 index 00000000..21c1fdc2 --- /dev/null +++ b/Minecraft.World/PlayerAbilitiesPacket.h @@ -0,0 +1,50 @@ +#pragma once + +#include "Packet.h" + +class Abilities; + +class PlayerAbilitiesPacket : public Packet, public enable_shared_from_this +{ +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; + static const float SPEED_ACCURACY; + + 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); + +public: + static shared_ptr create() { return shared_ptr(new PlayerAbilitiesPacket()); } + virtual int getId() { return 202; } +}; \ No newline at end of file -- cgit v1.2.3