mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-17 20:10:23 +03:00
62 lines
1.3 KiB
C++
62 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "Utils.hpp"
|
|
|
|
#include "Item.hpp"
|
|
class Item; // in case we're included from Item.hpp
|
|
class Tile;
|
|
class Level;
|
|
class Mob;
|
|
class Player;
|
|
|
|
class ItemInstance
|
|
{
|
|
public:
|
|
ItemInstance(Item*);
|
|
ItemInstance(Item*, int amount);
|
|
ItemInstance(Item*, int amount, int auxValue);
|
|
ItemInstance(Tile*);
|
|
ItemInstance(Tile*, int amount);
|
|
ItemInstance(Tile*, int amount, int auxValue);
|
|
ItemInstance(int itemID, int amount, int auxValue);
|
|
|
|
void init(int itemID, int amount, int auxValue);
|
|
|
|
int getAuxValue();
|
|
int getDamageValue();
|
|
|
|
bool canDestroySpecial(Tile*);
|
|
std::string getDescriptionId();
|
|
float getDestroySpeed(Tile*);
|
|
int getIcon();
|
|
int getMaxDamage();
|
|
int getMaxStackSize();
|
|
void hurt(int by);
|
|
void hurtEnemy(Mob*);
|
|
void interactEnemy(Mob*);
|
|
bool isDamageableItem();
|
|
bool isDamaged();
|
|
bool isStackable();
|
|
bool isStackedByData();
|
|
bool matches(ItemInstance*) const;
|
|
void mineBlock(int, int, int, int);
|
|
ItemInstance remove(int amt);
|
|
void setDescriptionId(const std::string&);
|
|
void snap(Player*);
|
|
std::string toString();
|
|
ItemInstance* use(Level*, Player*);
|
|
bool useOn(Player*, Level*, int x, int y, int z, int dir);
|
|
|
|
Item* getItem();
|
|
ItemInstance* copy();
|
|
|
|
static bool matches(ItemInstance*, ItemInstance*);
|
|
|
|
public:
|
|
int m_auxValue;
|
|
int m_amount;
|
|
int m_field_8;
|
|
int m_itemID;
|
|
};
|
|
|