36 super::Check(a_ChunkInterface, a_PluginInterface, a_RelPos, a_Chunk);
47 static const std::array<Vector3i, 5> WaterCheck
58 bool ShouldSoak = std::any_of(WaterCheck.cbegin(), WaterCheck.cend(), [a_Rel, & a_Chunk](
Vector3i a_Offset)
71 BlockMeta = a_Chunk.
GetMeta(a_Rel.
x, a_Rel.
y, a_Rel.
z);
104 ASSERT(!
"Unhandled meta in concrete powder handler!");
virtual void Check(cChunkInterface &a_ChunkInterface, cBlockPluginInterface &a_PluginInterface, Vector3i a_RelPos, cChunk &a_Chunk) override
Called when one of the neighbors gets set; equivalent to MC block update.
bool IsBlockWater(BLOCKTYPE a_BlockType)
virtual void Check(cChunkInterface &ChunkInterface, cBlockPluginInterface &a_PluginInterface, Vector3i a_RelPos, cChunk &a_Chunk)
Called when one of the neighbors gets set; equivalent to MC block update.
unsigned char BLOCKTYPE
The datatype used by blockdata.
bool UnboundedRelGetBlockType(Vector3i a_RelCoords, BLOCKTYPE &a_BlockType) const
Same as GetBlockType(), but relative coords needn't be in this chunk (uses m_Neighbor-s or m_ChunkMap...
cBlockConcretePowderHandler(BLOCKTYPE a_BlockType)
cBlockHandler(BLOCKTYPE a_BlockType)
void SetBlock(Vector3i a_RelBlockPos, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta)
unsigned char NIBBLETYPE
The datatype used by nibbledata (meta, light, skylight)
bool GetSoaked(Vector3i a_Rel, cChunk &a_Chunk)
Check blocks above and around to see if they are water.
This interface is used to decouple block handlers from the cPluginManager dependency through cWorld...
virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override
Returns the base colour ID of the block, as will be represented on a map, as per documentation: https...
NIBBLETYPE GetMeta(int a_RelX, int a_RelY, int a_RelZ) const