diff options
Diffstat (limited to 'Minecraft.World/AddExperienceOrbPacket.cpp')
| -rw-r--r-- | Minecraft.World/AddExperienceOrbPacket.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Minecraft.World/AddExperienceOrbPacket.cpp b/Minecraft.World/AddExperienceOrbPacket.cpp new file mode 100644 index 00000000..a1a22844 --- /dev/null +++ b/Minecraft.World/AddExperienceOrbPacket.cpp @@ -0,0 +1,51 @@ +#include "stdafx.h" +#include "net.minecraft.world.entity.h" +#include "InputOutputStream.h" +#include "PacketListener.h" +#include "AddExperienceOrbPacket.h" + + + +AddExperienceOrbPacket::AddExperienceOrbPacket() +{ + id = 0; + x = y = z = 0; + value = 0; +} + +AddExperienceOrbPacket::AddExperienceOrbPacket(shared_ptr<ExperienceOrb> e) +{ + id = e->entityId; + x = Mth::floor(e->x * 32); + y = Mth::floor(e->y * 32); + z = Mth::floor(e->z * 32); + value = e->getValue(); +} + +void AddExperienceOrbPacket::read(DataInputStream *dis) +{ + id = dis->readInt(); + x = dis->readInt(); + y = dis->readInt(); + z = dis->readInt(); + value = dis->readShort(); +} + +void AddExperienceOrbPacket::write(DataOutputStream *dos) +{ + dos->writeInt(id); + dos->writeInt(x); + dos->writeInt(y); + dos->writeInt(z); + dos->writeShort(value); +} + +void AddExperienceOrbPacket::handle(PacketListener *listener) +{ + listener->handleAddExperienceOrb(shared_from_this()); +} + +int AddExperienceOrbPacket::getEstimatedSize() +{ + return 18; +}
\ No newline at end of file |
