diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.World/PlayerInfoPacket.cpp | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.World/PlayerInfoPacket.cpp')
| -rw-r--r-- | Minecraft.World/PlayerInfoPacket.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Minecraft.World/PlayerInfoPacket.cpp b/Minecraft.World/PlayerInfoPacket.cpp new file mode 100644 index 00000000..9cbe5f7c --- /dev/null +++ b/Minecraft.World/PlayerInfoPacket.cpp @@ -0,0 +1,61 @@ +#include "stdafx.h" +#include "net.minecraft.world.entity.player.h" +#include "..\Minecraft.Client\ServerPlayer.h" +#include "..\Minecraft.Client\PlayerConnection.h" +#include <qnet.h> +#include "PacketListener.h" +#include "InputOutputStream.h" +#include "PlayerInfoPacket.h" + + + +PlayerInfoPacket::PlayerInfoPacket() +{ + m_networkSmallId = 0; + m_playerColourIndex = -1; + m_playerPrivileges = 0; + m_entityId = -1; +} + +PlayerInfoPacket::PlayerInfoPacket(BYTE networkSmallId, short playerColourIndex, unsigned int playerPrivileges) +{ + m_networkSmallId = networkSmallId; + m_playerColourIndex = playerColourIndex; + m_playerPrivileges = playerPrivileges; + m_entityId = -1; +} + +PlayerInfoPacket::PlayerInfoPacket(shared_ptr<ServerPlayer> player) +{ + m_networkSmallId = 0; + if(player->connection != NULL && player->connection->getNetworkPlayer() != NULL) m_networkSmallId = player->connection->getNetworkPlayer()->GetSmallId(); + m_playerColourIndex = player->getPlayerIndex(); + m_playerPrivileges = player->getAllPlayerGamePrivileges(); + m_entityId = player->entityId; +} + +void PlayerInfoPacket::read(DataInputStream *dis) +{ + m_networkSmallId = dis->readByte(); + m_playerColourIndex = dis->readShort(); + m_playerPrivileges = dis->readInt(); + m_entityId = dis->readInt(); +} + +void PlayerInfoPacket::write(DataOutputStream *dos) +{ + dos->writeByte(m_networkSmallId); + dos->writeShort(m_playerColourIndex); + dos->writeInt(m_playerPrivileges); + dos->writeInt(m_entityId); +} + +void PlayerInfoPacket::handle(PacketListener *listener) +{ + listener->handlePlayerInfo(shared_from_this()); +} + +int PlayerInfoPacket::getEstimatedSize() +{ + return 2 + 2 + 4 + 4; +}
\ No newline at end of file |
