Files
MinecraftConsoles/Minecraft.World/BowItem.h
void_17 7074f35e4b shared_ptr -> std::shared_ptr
This is one of the first commits in a plan to remove all `using namespace std;` lines in the entire codebase as it is considered anti-pattern today.
2026-03-02 15:58:20 +07:00

31 lines
968 B
C++

#pragma once
#include "Item.h"
class Player;
class Level;
class BowItem : public Item
{
public:
static const wstring TEXTURE_PULL[];
static const int MAX_DRAW_DURATION = 20 * 1;
private:
static const int BOW_ICONS_COUNT = 3;
Icon **icons;
public:
BowItem(int id);
virtual void releaseUsing(std::shared_ptr<ItemInstance> itemInstance, Level *level, std::shared_ptr<Player> player, int durationLeft);
virtual std::shared_ptr<ItemInstance> useTimeDepleted(std::shared_ptr<ItemInstance> instance, Level *level, std::shared_ptr<Player> player);
virtual int getUseDuration(std::shared_ptr<ItemInstance> itemInstance);
virtual UseAnim getUseAnimation(std::shared_ptr<ItemInstance> itemInstance);
virtual std::shared_ptr<ItemInstance> use(std::shared_ptr<ItemInstance> instance, Level *level, std::shared_ptr<Player> player);
virtual int getEnchantmentValue();
//@Override
void registerIcons(IconRegister *iconRegister);
Icon *getDrawnIcon(int amount);
};