aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/BowItem.h
blob: b4eba1113efbe6b1e74b89b88a69f185c33ca772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#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(shared_ptr<ItemInstance> itemInstance, Level *level, shared_ptr<Player> player, int durationLeft);
	virtual shared_ptr<ItemInstance> useTimeDepleted(shared_ptr<ItemInstance> instance, Level *level, shared_ptr<Player> player);
	virtual int getUseDuration(shared_ptr<ItemInstance> itemInstance);
	virtual UseAnim getUseAnimation(shared_ptr<ItemInstance> itemInstance);
	virtual shared_ptr<ItemInstance> use(shared_ptr<ItemInstance> instance, Level *level, shared_ptr<Player> player);
	virtual int getEnchantmentValue();

	//@Override
	void registerIcons(IconRegister *iconRegister);
	Icon *getDrawnIcon(int amount);
};