aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/SetEntityLinkPacket.h
blob: aa92206df0d2d55781d4659d8c089213337fb2f7 (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
#pragma once
using namespace std;

#include "Packet.h"

class SetEntityLinkPacket : public Packet, public enable_shared_from_this<SetEntityLinkPacket>
{
public:
	static const int RIDING = 0;
	static const int LEASH = 1;

	int type;
	int sourceId, destId;

	SetEntityLinkPacket();
	SetEntityLinkPacket(int linkType, shared_ptr<Entity> sourceEntity, shared_ptr<Entity> destEntity);

	virtual int getEstimatedSize();
	virtual void read(DataInputStream *dis);
	virtual void write(DataOutputStream *dos);
	virtual void handle(PacketListener *listener);
	virtual bool canBeInvalidated();
    virtual bool isInvalidatedBy(shared_ptr<Packet> packet);

public:
	static shared_ptr<Packet> create() { return shared_ptr<Packet>(new SetEntityLinkPacket()); }
	virtual int getId() { return 39; }

};