4jcraft/Minecraft.World/Network/Packets/SetExperiencePacket.cpp
2026-03-21 18:09:02 -05:00

42 lines
1.3 KiB
C++

#include "../../Platform/stdafx.h"
#include "SetExperiencePacket.h"
#include "PacketListener.h"
#include "../../IO/Streams/InputOutputStream.h"
SetExperiencePacket::SetExperiencePacket() {
this->experienceProgress = 0;
this->totalExperience = 0;
this->experienceLevel = 0;
}
SetExperiencePacket::SetExperiencePacket(float experienceProgress,
int totalExperience,
int experienceLevel) {
this->experienceProgress = experienceProgress;
this->totalExperience = totalExperience;
this->experienceLevel = experienceLevel;
}
void SetExperiencePacket::read(DataInputStream* dis) {
experienceProgress = dis->readFloat();
experienceLevel = dis->readShort();
totalExperience = dis->readShort();
}
void SetExperiencePacket::write(DataOutputStream* dos) {
dos->writeFloat(experienceProgress);
dos->writeShort(experienceLevel);
dos->writeShort(totalExperience);
}
void SetExperiencePacket::handle(PacketListener* listener) {
listener->handleSetExperience(shared_from_this());
}
int SetExperiencePacket::getEstimatedSize() { return 8; }
bool SetExperiencePacket::canBeInvalidated() { return true; }
bool SetExperiencePacket::isInvalidatedBy(std::shared_ptr<Packet> packet) {
return true;
}