mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 14:23:43 +00:00
33 lines
1,017 B
C++
33 lines
1,017 B
C++
#include "../../Platform/stdafx.h"
|
|
#include "../../IO/Streams/InputOutputStream.h"
|
|
#include "PacketListener.h"
|
|
#include "SetCreativeModeSlotPacket.h"
|
|
|
|
SetCreativeModeSlotPacket::SetCreativeModeSlotPacket() {
|
|
this->slotNum = 0;
|
|
this->item = nullptr;
|
|
}
|
|
|
|
SetCreativeModeSlotPacket::SetCreativeModeSlotPacket(
|
|
int slotNum, std::shared_ptr<ItemInstance> item) {
|
|
this->slotNum = slotNum;
|
|
// 4J - take copy of item as we want our packets to have full ownership of
|
|
// any referenced data
|
|
this->item = item ? item->copy() : std::shared_ptr<ItemInstance>();
|
|
}
|
|
|
|
void SetCreativeModeSlotPacket::handle(PacketListener* listener) {
|
|
listener->handleSetCreativeModeSlot(shared_from_this());
|
|
}
|
|
|
|
void SetCreativeModeSlotPacket::read(DataInputStream* dis) {
|
|
slotNum = dis->readShort();
|
|
item = readItem(dis);
|
|
}
|
|
|
|
void SetCreativeModeSlotPacket::write(DataOutputStream* dos) {
|
|
dos->writeShort(slotNum);
|
|
writeItem(item, dos);
|
|
}
|
|
|
|
int SetCreativeModeSlotPacket::getEstimatedSize() { return 8; } |