#pragma once #include #include "Packet.h" class MobEffectInstance; class UpdateMobEffectPacket : public Packet, public std::enable_shared_from_this { 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); public: static std::shared_ptr create() { return std::shared_ptr(new UpdateMobEffectPacket()); } virtual int getId() { return 41; } };