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/PlayerInfoPacket.cpp | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Minecraft.World/PlayerInfoPacket.cpp (limited to 'Minecraft.World/PlayerInfoPacket.cpp') 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 +#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 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 -- cgit v1.2.3