Files

33 lines
1.2 KiB
C
Raw Permalink Normal View History

2026-03-01 12:16:08 +08:00
#pragma once
#include "Tile.h"
class HalfSlabTile : public Tile
2026-03-01 12:16:08 +08:00
{
public:
static const int TYPE_MASK = 7;
static const int TOP_SLOT_BIT = 8;
2026-03-01 12:16:08 +08:00
protected:
bool fullSize;
public:
HalfSlabTile(int id, bool fullSize, Material *material);
virtual void updateShape(LevelSource *level, int x, int y, int z, int forceData = -1, shared_ptr<TileEntity> forceEntity = shared_ptr<TileEntity>()); // 4J added forceData, forceEntity param
2026-03-01 12:16:08 +08:00
virtual void updateDefaultShape();
virtual void addAABBs(Level *level, int x, int y, int z, AABB *box, AABBList *boxes, shared_ptr<Entity> source);
2026-03-01 12:16:08 +08:00
virtual bool isSolidRender(bool isServerLevel);
virtual int getPlacedOnFaceDataValue(Level *level, int x, int y, int z, int face, float clickX, float clickY, float clickZ, int itemValue);
virtual int getResourceCount(Random *random);
virtual int getSpawnResourcesAuxValue(int data);
virtual bool isCubeShaped();
virtual bool shouldRenderFace(LevelSource *level, int x, int y, int z, int face);
private:
static bool isHalfSlab(int tileId);
public:
virtual int getAuxName(int auxValue) = 0;
virtual int cloneTileData(Level *level, int x, int y, int z);
virtual int cloneTileId(Level *level, int x, int y, int z);
2026-03-01 12:16:08 +08:00
};