mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-03-31 04:23:31 +00:00
the whole game
This commit is contained in:
77
src/network/packet/TeleportEntityPacket.h
Executable file
77
src/network/packet/TeleportEntityPacket.h
Executable file
@@ -0,0 +1,77 @@
|
||||
#ifndef NET_MINECRAFT_NETWORK_PACKET__TeleportEntityPacket_H__
|
||||
#define NET_MINECRAFT_NETWORK_PACKET__TeleportEntityPacket_H__
|
||||
|
||||
//package net.minecraft.network.packet;
|
||||
|
||||
#include "../Packet.h"
|
||||
|
||||
#include "../../world/entity/Entity.h"
|
||||
#include "../../util/Mth.h"
|
||||
|
||||
class TeleportEntityPacket: public Packet
|
||||
{
|
||||
public:
|
||||
TeleportEntityPacket() {
|
||||
}
|
||||
|
||||
TeleportEntityPacket(Entity* e, char cause)
|
||||
: id(e->entityId),
|
||||
x(e->x),
|
||||
y(e->y),
|
||||
z(e->z),
|
||||
yRot(e->yRot),
|
||||
xRot(e->xRot),
|
||||
cause(cause)
|
||||
{
|
||||
}
|
||||
|
||||
TeleportEntityPacket(int id, float x, float y, float z, float yRot, float xRot, char cause)
|
||||
: id(id),
|
||||
x(x),
|
||||
y(y),
|
||||
z(z),
|
||||
yRot(yRot),
|
||||
xRot(xRot),
|
||||
cause(cause)
|
||||
{
|
||||
}
|
||||
|
||||
void write(RakNet::BitStream* bitStream) {
|
||||
bitStream->Write((RakNet::MessageID)(ID_USER_PACKET_ENUM + PACKET_TELEPORTENTITY));
|
||||
bitStream->Write(id);
|
||||
bitStream->Write(x);
|
||||
bitStream->Write(y);
|
||||
bitStream->Write(z);
|
||||
bitStream->Write(PacketUtil::Rot_degreesToChar(yRot));
|
||||
bitStream->Write(PacketUtil::Rot_degreesToChar(xRot));
|
||||
bitStream->Write(cause);
|
||||
}
|
||||
|
||||
void read(RakNet::BitStream* bitStream) {
|
||||
bitStream->Read(id);
|
||||
bitStream->Read(x);
|
||||
bitStream->Read(y);
|
||||
bitStream->Read(z);
|
||||
char rx, ry;
|
||||
bitStream->Read(ry);
|
||||
bitStream->Read(rx);
|
||||
bitStream->Read(cause);
|
||||
yRot = PacketUtil::Rot_degreesToChar(ry);
|
||||
xRot = PacketUtil::Rot_charToDegrees(rx);
|
||||
|
||||
}
|
||||
|
||||
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback)
|
||||
{
|
||||
callback->handle(source, (TeleportEntityPacket*)this);
|
||||
}
|
||||
|
||||
int id;
|
||||
float x, y, z;
|
||||
float xRot, yRot; // sent as byte
|
||||
char cause;
|
||||
|
||||
static const int WANT_RESPAWN = 1;
|
||||
};
|
||||
|
||||
#endif /*NET_MINECRAFT_NETWORK_PACKET__TeleportEntityPacket_H__*/
|
||||
Reference in New Issue
Block a user