mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 15:23:37 +00:00
47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
#include "../../Platform/stdafx.h"
|
|
#include <iostream>
|
|
#include "../../IO/Streams/InputOutputStream.h"
|
|
#include "../../Headers/net.minecraft.world.entity.h"
|
|
#include "PacketListener.h"
|
|
#include "SetEntityDataPacket.h"
|
|
|
|
SetEntityDataPacket::SetEntityDataPacket() {
|
|
id = -1;
|
|
packedItems = nullptr;
|
|
}
|
|
|
|
SetEntityDataPacket::~SetEntityDataPacket() { delete packedItems; }
|
|
|
|
SetEntityDataPacket::SetEntityDataPacket(
|
|
int id, std::shared_ptr<SynchedEntityData> entityData, bool notJustDirty) {
|
|
this->id = id;
|
|
if (notJustDirty) {
|
|
this->packedItems = entityData->getAll();
|
|
} else {
|
|
this->packedItems = entityData->packDirty();
|
|
}
|
|
}
|
|
|
|
void SetEntityDataPacket::read(DataInputStream* dis) // throws IOException
|
|
{
|
|
id = dis->readInt();
|
|
packedItems = SynchedEntityData::unpack(dis);
|
|
}
|
|
|
|
void SetEntityDataPacket::write(DataOutputStream* dos) // throws IOException
|
|
{
|
|
dos->writeInt(id);
|
|
SynchedEntityData::pack(packedItems, dos);
|
|
}
|
|
|
|
void SetEntityDataPacket::handle(PacketListener* listener) {
|
|
listener->handleSetEntityData(shared_from_this());
|
|
}
|
|
|
|
int SetEntityDataPacket::getEstimatedSize() { return 5; }
|
|
|
|
std::vector<std::shared_ptr<SynchedEntityData::DataItem> >*
|
|
SetEntityDataPacket::getUnpackedData() {
|
|
return packedItems;
|
|
}
|