#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; }