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/ProtectionEnchantment.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Minecraft.World/ProtectionEnchantment.h (limited to 'Minecraft.World/ProtectionEnchantment.h') diff --git a/Minecraft.World/ProtectionEnchantment.h b/Minecraft.World/ProtectionEnchantment.h new file mode 100644 index 00000000..910e32df --- /dev/null +++ b/Minecraft.World/ProtectionEnchantment.h @@ -0,0 +1,33 @@ +#pragma once + +#include "Enchantment.h" + +class ProtectionEnchantment : public Enchantment +{ +public: + static const int ALL = 0; + static const int FIRE = 1; + static const int FALL = 2; + static const int EXPLOSION = 3; + static const int PROJECTILE = 4; + +private: + static const int names[]; + static const int minCost[]; + static const int levelCost[]; + static const int levelCostSpan[]; + +public: + const int type; + + ProtectionEnchantment(int id, int frequency, int type); + + virtual int getMinCost(int level); + virtual int getMaxCost(int level); + virtual int getMaxLevel(); + virtual int getDamageProtection(int level, DamageSource *source); + virtual int getDescriptionId(); + virtual bool isCompatibleWith(Enchantment *other) const; + static int getFireAfterDampener(shared_ptr entity, int time); + static double getExplosionKnockbackAfterDampener(shared_ptr entity, double power); +}; \ No newline at end of file -- cgit v1.2.3