forked from Kolyah35/minecraft-pe-0.6.1
the whole game
This commit is contained in:
68
src/network/packet/SetEntityMotionPacket.h
Executable file
68
src/network/packet/SetEntityMotionPacket.h
Executable file
@@ -0,0 +1,68 @@
|
||||
#ifndef NET_MINECRAFT_NETWORK_PACKET__SetEntityMotionPacket_H__
|
||||
#define NET_MINECRAFT_NETWORK_PACKET__SetEntityMotionPacket_H__
|
||||
|
||||
//package net.minecraft.network.packet;
|
||||
|
||||
#include "../Packet.h"
|
||||
#include "../../world/entity/Entity.h"
|
||||
|
||||
class SetEntityMotionPacket: public Packet
|
||||
{
|
||||
public:
|
||||
SetEntityMotionPacket() {}
|
||||
|
||||
SetEntityMotionPacket(Entity* e) {
|
||||
init(e->entityId, e->xd, e->yd, e->zd);
|
||||
}
|
||||
|
||||
SetEntityMotionPacket(int id, float xd, float yd, float zd) {
|
||||
init(id, xd, yd, zd);
|
||||
}
|
||||
|
||||
void write(RakNet::BitStream* bitStream)
|
||||
{
|
||||
const float M = 3.9f;
|
||||
short xa = (short)(8000.0f * Mth::clamp(xd, -M, M));
|
||||
short ya = (short)(8000.0f * Mth::clamp(yd, -M, M));
|
||||
short za = (short)(8000.0f * Mth::clamp(zd, -M, M));
|
||||
|
||||
bitStream->Write((RakNet::MessageID)(ID_USER_PACKET_ENUM + PACKET_SETENTITYMOTION));
|
||||
bitStream->Write(id);
|
||||
bitStream->Write(xa);
|
||||
bitStream->Write(ya);
|
||||
bitStream->Write(za);
|
||||
}
|
||||
|
||||
void read(RakNet::BitStream* bitStream)
|
||||
{
|
||||
short xa, ya, za;
|
||||
bitStream->Read(id);
|
||||
bitStream->Read(xa);
|
||||
bitStream->Read(ya);
|
||||
bitStream->Read(za);
|
||||
|
||||
xd = xa / 8000.0f;
|
||||
yd = ya / 8000.0f;
|
||||
zd = za / 8000.0f;
|
||||
}
|
||||
|
||||
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback)
|
||||
{
|
||||
callback->handle(source, (SetEntityMotionPacket*)this);
|
||||
}
|
||||
|
||||
private:
|
||||
void init(int entityId, float xd, float yd, float zd) {
|
||||
this->id = entityId;
|
||||
this->xd = xd;
|
||||
this->yd = yd;
|
||||
this->zd = zd;
|
||||
}
|
||||
|
||||
public:
|
||||
int id;
|
||||
float xd, yd, zd;
|
||||
|
||||
};
|
||||
|
||||
#endif /*NET_MINECRAFT_NETWORK_PACKET__SetEntityMotionPacket_H__*/
|
||||
Reference in New Issue
Block a user