4jcraft/targets/minecraft/network/packet/UpdateMobEffectPacket.h
2026-04-01 13:27:58 -05:00

35 lines
950 B
C++

#pragma once
#include <cstdint>
#include <memory>
#include "Packet.h"
#include "minecraft/network/packet/Packet.h"
class MobEffectInstance;
class UpdateMobEffectPacket
: public Packet,
public std::enable_shared_from_this<UpdateMobEffectPacket> {
public:
int entityId;
std::uint8_t effectId;
char effectAmplifier;
short effectDurationTicks;
UpdateMobEffectPacket();
UpdateMobEffectPacket(int entityId, MobEffectInstance* effect);
virtual void read(DataInputStream* dis);
virtual void write(DataOutputStream* dos);
virtual bool isSuperLongDuration();
virtual void handle(PacketListener* listener);
virtual int getEstimatedSize();
virtual bool canBeInvalidated();
virtual bool isInvalidatedBy(std::shared_ptr<Packet> packet);
public:
static std::shared_ptr<Packet> create() {
return std::make_shared<UpdateMobEffectPacket>();
}
virtual int getId() { return 41; }
};