4jcraft/Minecraft.World/Items/DyePowderItem.h
2026-03-21 16:39:12 -05:00

61 lines
1.9 KiB
C++

#pragma once
#include "Item.h"
class Player;
class Mob;
class Level;
class DyePowderItem : public Item {
public:
static const unsigned int COLOR_DESCS[];
static const unsigned int COLOR_USE_DESCS[];
static const std::wstring COLOR_TEXTURES[];
static const int COLOR_RGB[];
static const int BLACK;
static const int RED;
static const int GREEN;
static const int BROWN;
static const int BLUE;
static const int PURPLE;
static const int CYAN;
static const int SILVER;
static const int GRAY;
static const int PINK;
static const int LIME;
static const int YELLOW;
static const int LIGHT_BLUE;
static const int MAGENTA;
static const int ORANGE;
static const int WHITE;
private:
static const int DYE_POWDER_ITEM_TEXTURE_COUNT = 16;
Icon** icons;
public:
DyePowderItem(int id);
virtual Icon* getIcon(int itemAuxValue);
virtual unsigned int getDescriptionId(
std::shared_ptr<ItemInstance> itemInstance);
virtual unsigned int getUseDescriptionId(
std::shared_ptr<ItemInstance> itemInstance);
virtual bool useOn(std::shared_ptr<ItemInstance> itemInstance,
std::shared_ptr<Player> player, Level* level, int x,
int y, int z, int face, float clickX, float clickY,
float clickZ, bool bTestUseOnOnly = false);
static bool growCrop(std::shared_ptr<ItemInstance> itemInstance,
Level* level, int x, int y, int z,
bool bTestUseOnOnly);
static void addGrowthParticles(Level* level, int x, int y, int z,
int count);
virtual bool interactEnemy(std::shared_ptr<ItemInstance> itemInstance,
std::shared_ptr<Player> player,
std::shared_ptr<LivingEntity> mob);
//@Override
void registerIcons(IconRegister* iconRegister);
};