From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.World/MobEffectInstance.h | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Minecraft.World/MobEffectInstance.h (limited to 'Minecraft.World/MobEffectInstance.h') diff --git a/Minecraft.World/MobEffectInstance.h b/Minecraft.World/MobEffectInstance.h new file mode 100644 index 00000000..d1c716e6 --- /dev/null +++ b/Minecraft.World/MobEffectInstance.h @@ -0,0 +1,42 @@ +#pragma once + +class Mob; + +class MobEffectInstance +{ +private: + // sent as byte + int id; + // sent as short + int duration; + // sent as byte + int amplifier; + + void _init(int id, int duration, int amplifier); + +public: + MobEffectInstance(int id); + MobEffectInstance(int id, int duration); + MobEffectInstance(int id, int duration, int amplifier); + MobEffectInstance(MobEffectInstance *copy); + + void update(MobEffectInstance *takeOver); + int getId(); + int getDuration(); + int getAmplifier(); + bool tick(shared_ptr target); + +private: + int tickDownDuration(); + +public: + void applyEffect(shared_ptr mob); + int getDescriptionId(); + int getPostfixDescriptionId(); // 4J Added + int hashCode(); + + wstring toString(); + + // Was bool equals(Object obj) + bool equals(MobEffectInstance *obj); +}; \ No newline at end of file -- cgit v1.2.3