aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/PlayerInfoPacket.h
blob: 7044ffbda10ae5b66586f146a836db8030644599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once
using namespace std;
#include "Packet.h"

class ServerPlayer;

class PlayerInfoPacket : public Packet, public enable_shared_from_this<PlayerInfoPacket>
{
	public:
		// 4J Stu - I have re-purposed this packet for our uses
		//wstring name;
		//bool add;
		//int latency;
		short m_networkSmallId;
		short m_playerColourIndex;
		unsigned int m_playerPrivileges;
		int m_entityId;

		PlayerInfoPacket();
		//PlayerInfoPacket(const wstring &name, bool add, int latency);
		PlayerInfoPacket(BYTE networkSmallId, short playerColourIndex, unsigned int playerPrivileges = 0);
		PlayerInfoPacket(shared_ptr<ServerPlayer> player);

		virtual void read(DataInputStream *dis);
		virtual void write(DataOutputStream *dos);
		virtual void handle(PacketListener *listener);
		virtual int getEstimatedSize();

public:
	static shared_ptr<Packet> create() { return std::make_shared<PlayerInfoPacket>(); }
	virtual int getId() { return 201; }
};