#pragma once #include #include #include "Item.h" #include "minecraft/world/entity/ai/attributes/Attribute.h" class Mob; class Tile; class DiggerItem : public Item { private: std::vector* tiles; protected: float speed; private: float attackDamage; protected: const Tier* tier; DiggerItem(int id, float attackDamage, const Tier* tier, std::vector* tiles); public: virtual float getDestroySpeed(std::shared_ptr itemInstance, Tile* tile); virtual bool hurtEnemy(std::shared_ptr itemInstance, std::shared_ptr mob, std::shared_ptr attacker); virtual bool mineBlock(std::shared_ptr itemInstance, Level* level, int tile, int x, int y, int z, std::shared_ptr owner); virtual bool isHandEquipped(); virtual int getEnchantmentValue(); const Tier* getTier(); bool isValidRepairItem(std::shared_ptr source, std::shared_ptr repairItem); virtual attrAttrModMap* getDefaultAttributeModifiers(); };