Files
MinecraftConsoles/Minecraft.World/WeaponItem.h

28 lines
1.1 KiB
C
Raw Normal View History

2026-03-01 12:16:08 +08:00
#pragma once
using namespace std;
#include "Item.h"
class WeaponItem : public Item
{
private:
float damage;
2026-03-01 12:16:08 +08:00
const Tier *tier;
public:
WeaponItem(int id, const Tier *tier);
virtual float getTierDamage();
virtual float getDestroySpeed(shared_ptr<ItemInstance> itemInstance, Tile *tile);
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 UseAnim getUseAnimation(shared_ptr<ItemInstance> itemInstance);
virtual int getUseDuration(shared_ptr<ItemInstance> itemInstance);
virtual shared_ptr<ItemInstance> use(shared_ptr<ItemInstance> instance, Level *level, shared_ptr<Player> player);
2026-03-01 12:16:08 +08:00
virtual bool canDestroySpecial(Tile *tile);
virtual int getEnchantmentValue();
const Tier *getTier();
bool isValidRepairItem(shared_ptr<ItemInstance> source, shared_ptr<ItemInstance> repairItem);
attrAttrModMap *getDefaultAttributeModifiers();
2026-03-01 12:16:08 +08:00
};