4jcraft/Minecraft.World/Items/WeaponItem.h
2026-03-06 12:16:41 -06:00

28 lines
1.1 KiB
C++

#pragma once
#include "Item.h"
class WeaponItem : public Item
{
private:
int damage;
const Tier *tier;
public:
WeaponItem(int id, const Tier *tier);
virtual float getDestroySpeed(std::shared_ptr<ItemInstance> itemInstance, Tile *tile);
virtual bool hurtEnemy(std::shared_ptr<ItemInstance> itemInstance, std::shared_ptr<Mob> mob, std::shared_ptr<Mob> attacker);
virtual bool mineBlock(std::shared_ptr<ItemInstance> itemInstance, Level *level, int tile, int x, int y, int z, std::shared_ptr<Mob> owner);
virtual int getAttackDamage(std::shared_ptr<Entity> entity);
virtual bool isHandEquipped();
virtual UseAnim getUseAnimation(std::shared_ptr<ItemInstance> itemInstance);
virtual int getUseDuration(std::shared_ptr<ItemInstance> itemInstance);
virtual std::shared_ptr<ItemInstance> use(std::shared_ptr<ItemInstance> instance, Level *level, std::shared_ptr<Player> player);
virtual bool canDestroySpecial(Tile *tile);
virtual int getEnchantmentValue();
const Tier *getTier();
bool isValidRepairItem(std::shared_ptr<ItemInstance> source, std::shared_ptr<ItemInstance> repairItem);
};