unsigned char NIBBLETYPE
The datatype used by nibbledata (meta, light, skylight)
unsigned char BLOCKTYPE
The datatype used by blockdata.
This is a base class for all fluid simulator data classes.
virtual ~cFluidSimulatorData()
bool IsHigherMeta(NIBBLETYPE a_Meta1, NIBBLETYPE a_Meta2)
Returns true if a_Meta1 is a higher fluid than a_Meta2.
bool IsSolidBlock(BLOCKTYPE a_BlockType)
BLOCKTYPE m_StationaryFluidBlock
virtual cFluidSimulatorData * CreateChunkData(void)=0
Creates a ChunkData object for the simulator to use.
bool IsStationaryFluidBlock(BLOCKTYPE a_BlockType) const
static bool CanWashAway(BLOCKTYPE a_BlockType)
bool IsAllowedBlock(BLOCKTYPE a_BlockType)
cFluidSimulator(cWorld &a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid)
bool IsAnyFluidBlock(BLOCKTYPE a_BlockType) const
bool IsFluidBlock(BLOCKTYPE a_BlockType) const
virtual Vector3f GetFlowingDirection(Vector3i a_Pos)
Returns a unit vector in the direction the fluid is flowing or a zero-vector if not flowing.
bool IsPassableForFluid(BLOCKTYPE a_BlockType)
Base class for all block-based physics simulators (such as fluid, fire, falling blocks etc....
cSimulator(cWorld &a_World)