forked from Kolyah35/minecraft-pe-0.6.1
79 lines
2.1 KiB
C++
Executable File
79 lines
2.1 KiB
C++
Executable File
#ifndef NET_MINECRAFT_NETWORK_PACKET__AddItemEntityPacket_H__
|
|
#define NET_MINECRAFT_NETWORK_PACKET__AddItemEntityPacket_H__
|
|
|
|
//package net.minecraft.network.packet;
|
|
|
|
#include "../Packet.h"
|
|
#include "../../world/entity/item/ItemEntity.h"
|
|
#include "../../world/item/ItemInstance.h"
|
|
#include "../../util/Mth.h"
|
|
|
|
class AddItemEntityPacket: public Packet {
|
|
public:
|
|
AddItemEntityPacket() {
|
|
}
|
|
|
|
AddItemEntityPacket(const ItemEntity* itemEntity)
|
|
: id(itemEntity->entityId),
|
|
itemId(itemEntity->item.id),
|
|
itemCount(itemEntity->item.count),
|
|
auxValue(itemEntity->item.getAuxValue()),
|
|
x(itemEntity->x),
|
|
y(itemEntity->y),
|
|
z(itemEntity->z),
|
|
_xa((signed char) (itemEntity->xd * 128.0)),
|
|
_ya((signed char) (itemEntity->yd * 128.0)),
|
|
_za((signed char) (itemEntity->zd * 128.0))
|
|
{
|
|
}
|
|
|
|
void read(RakNet::BitStream* bitStream)
|
|
{
|
|
bitStream->Read(id);
|
|
bitStream->Read(itemId);
|
|
bitStream->Read(itemCount);
|
|
bitStream->Read(auxValue);
|
|
bitStream->Read(x);
|
|
bitStream->Read(y);
|
|
bitStream->Read(z);
|
|
bitStream->Read(_xa);
|
|
bitStream->Read(_ya);
|
|
bitStream->Read(_za);
|
|
}
|
|
|
|
void write(RakNet::BitStream* bitStream)
|
|
{
|
|
bitStream->Write((RakNet::MessageID)(ID_USER_PACKET_ENUM + PACKET_ADDITEMENTITY));
|
|
bitStream->Write(id);
|
|
bitStream->Write(itemId);
|
|
bitStream->Write(itemCount);
|
|
bitStream->Write(auxValue);
|
|
bitStream->Write(x);
|
|
bitStream->Write(y);
|
|
bitStream->Write(z);
|
|
bitStream->Write(_xa);
|
|
bitStream->Write(_ya);
|
|
bitStream->Write(_za);
|
|
}
|
|
|
|
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback)
|
|
{
|
|
callback->handle(source, (AddItemEntityPacket*)this);
|
|
}
|
|
|
|
float xa() { return (float)(_xa) / 128.0f; }
|
|
float ya() { return (float)(_ya) / 128.0f; }
|
|
float za() { return (float)(_za) / 128.0f; }
|
|
|
|
int id;
|
|
float x, y, z;
|
|
|
|
short itemId;
|
|
short auxValue;
|
|
unsigned char itemCount;
|
|
private:
|
|
signed char _xa, _ya, _za;
|
|
};
|
|
|
|
#endif /*NET_MINECRAFT_NETWORK_PACKET__AddItemEntityPacket_H__*/
|