4jcraft/Minecraft.World/Items/TileItems/StoneSlabTileItem.h
2026-03-13 17:06:56 -05:00

34 lines
1.2 KiB
C++

#pragma once
#include "TileItem.h"
#include "../../Blocks/HalfSlabTile.h"
class StoneSlabTileItem : public TileItem {
private:
bool isFull;
HalfSlabTile* halfTile;
HalfSlabTile* fullTile;
public:
StoneSlabTileItem(int id, HalfSlabTile* halfTile, HalfSlabTile* fullTile,
bool full);
virtual Icon* getIcon(int itemAuxValue);
virtual int getLevelDataForAuxValue(int auxValue);
virtual unsigned int getDescriptionId(
std::shared_ptr<ItemInstance> instance);
virtual bool useOn(std::shared_ptr<ItemInstance> instance,
std::shared_ptr<Player> player, Level* level, int x,
int y, int z, int face, float clickX, float clickY,
float clickZ, bool bTestUseOnOnly = false);
virtual bool mayPlace(Level* level, int x, int y, int z, int face,
std::shared_ptr<Player> player,
std::shared_ptr<ItemInstance> item);
private:
bool tryConvertTargetTile(std::shared_ptr<ItemInstance> instance,
std::shared_ptr<Player> player, Level* level,
int x, int y, int z, int face,
bool bTestUseOnOnly);
};