2026-03-01 12:16:08 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "Item.h"
|
|
|
|
|
|
|
|
|
|
class Mob;
|
|
|
|
|
|
|
|
|
|
class DiggerItem : public Item
|
|
|
|
|
{
|
|
|
|
|
private:
|
|
|
|
|
TileArray *tiles;
|
|
|
|
|
protected:
|
|
|
|
|
float speed;
|
|
|
|
|
private:
|
2026-03-03 03:04:10 +08:00
|
|
|
float attackDamage;
|
2026-03-01 12:16:08 +08:00
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
const Tier *tier;
|
|
|
|
|
|
2026-03-03 03:04:10 +08:00
|
|
|
DiggerItem(int id, float attackDamage, const Tier *tier, TileArray *tiles);
|
2026-03-01 12:16:08 +08:00
|
|
|
|
|
|
|
|
public:
|
2026-03-02 17:37:16 +07:00
|
|
|
virtual float getDestroySpeed(shared_ptr<ItemInstance> itemInstance, Tile *tile);
|
2026-03-03 03:04:10 +08:00
|
|
|
virtual bool hurtEnemy(shared_ptr<ItemInstance> itemInstance, shared_ptr<LivingEntity> mob, shared_ptr<LivingEntity> attacker);
|
|
|
|
|
virtual bool mineBlock(shared_ptr<ItemInstance> itemInstance, Level *level, int tile, int x, int y, int z, shared_ptr<LivingEntity> owner);
|
2026-03-01 12:16:08 +08:00
|
|
|
virtual bool isHandEquipped();
|
|
|
|
|
virtual int getEnchantmentValue();
|
|
|
|
|
|
|
|
|
|
const Tier *getTier();
|
2026-03-02 17:37:16 +07:00
|
|
|
bool isValidRepairItem(shared_ptr<ItemInstance> source, shared_ptr<ItemInstance> repairItem);
|
2026-03-03 03:04:10 +08:00
|
|
|
virtual attrAttrModMap *getDefaultAttributeModifiers();
|
2026-03-01 12:16:08 +08:00
|
|
|
};
|