Cuberite
A lightweight, fast and extensible game server for Minecraft
Private Types | Private Member Functions | List of all members
cVaporizeFluidSimulator Class Reference

#include <VaporizeFluidSimulator.h>

Inheritance diagram for cVaporizeFluidSimulator:
Inheritance graph
[legend]
Collaboration diagram for cVaporizeFluidSimulator:
Collaboration graph
[legend]

Private Types

using Super = cFluidSimulator
 

Private Member Functions

virtual void AddBlock (cChunk &a_Chunk, Vector3i a_Position, BLOCKTYPE a_Block) override
 Called to simulate a new block. More...
 
virtual cFluidSimulatorDataCreateChunkData (void) override
 Creates a ChunkData object for the simulator to use. More...
 
virtual void SimulateChunk (std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk *a_Chunk) override
 

Additional Inherited Members

- Public Member Functions inherited from cFluidSimulator
 cFluidSimulator (cWorld &a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid)
 
virtual Vector3f GetFlowingDirection (Vector3i a_Pos)
 Returns a unit vector in the direction the fluid is flowing or a zero-vector if not flowing. More...
 
bool IsAnyFluidBlock (BLOCKTYPE a_BlockType) const
 
bool IsFluidBlock (BLOCKTYPE a_BlockType) const
 
bool IsHigherMeta (NIBBLETYPE a_Meta1, NIBBLETYPE a_Meta2)
 Returns true if a_Meta1 is a higher fluid than a_Meta2. More...
 
bool IsPassableForFluid (BLOCKTYPE a_BlockType)
 
bool IsSolidBlock (BLOCKTYPE a_BlockType)
 
bool IsStationaryFluidBlock (BLOCKTYPE a_BlockType) const
 
- Public Member Functions inherited from cSimulator
 cSimulator (cWorld &a_World)
 
virtual ~cSimulator ()
 
- Static Public Member Functions inherited from cFluidSimulator
static bool CanWashAway (BLOCKTYPE a_BlockType)
 
- Static Public Member Functions inherited from cSimulator
static std::array< Vector3i, 5 > GetLinkedOffsets (Vector3i Offset)
 For a given offset from a position, return the offsets that represent the adjacents of the newly offset position, excluding the old position. More...
 
- Static Public Attributes inherited from cSimulator
static constexpr std::array< Vector3i, 6 > AdjacentOffsets
 Contains offsets for direct adjacents of any position. More...
 
- Protected Member Functions inherited from cFluidSimulator
bool IsAllowedBlock (BLOCKTYPE a_BlockType)
 
- Protected Member Functions inherited from cSimulator
virtual void Simulate (float a_Dt)
 
virtual void WakeUp (cChunk &a_Chunk, Vector3i a_Position, BLOCKTYPE a_Block)
 Called to simulate a single new block, typically as a result of a single block break or change. More...
 
virtual void WakeUp (cChunk &a_Chunk, Vector3i a_Position, Vector3i a_Offset, BLOCKTYPE a_Block)
 Called to simulate a single block, synthesised by the simulator manager. More...
 
- Protected Attributes inherited from cFluidSimulator
BLOCKTYPE m_FluidBlock
 
BLOCKTYPE m_StationaryFluidBlock
 
- Protected Attributes inherited from cSimulator
cWorldm_World
 

Detailed Description

Definition at line 19 of file VaporizeFluidSimulator.h.

Member Typedef Documentation

◆ Super

Definition at line 22 of file VaporizeFluidSimulator.h.

Member Function Documentation

◆ AddBlock()

void cVaporizeFluidSimulator::AddBlock ( cChunk a_Chunk,
Vector3i  a_Position,
BLOCKTYPE  a_Block 
)
overrideprivatevirtual

Called to simulate a new block.

Unlike WakeUp this function will perform minimal checking. It queues the block to be simulated as fast as possible, suitable for area wakeups.

Implements cSimulator.

Definition at line 31 of file VaporizeFluidSimulator.cpp.

◆ CreateChunkData()

virtual cFluidSimulatorData* cVaporizeFluidSimulator::CreateChunkData ( void  )
inlineoverrideprivatevirtual

Creates a ChunkData object for the simulator to use.

The simulator returns the correct object type.

Implements cFluidSimulator.

Definition at line 32 of file VaporizeFluidSimulator.h.

◆ SimulateChunk()

void cVaporizeFluidSimulator::SimulateChunk ( std::chrono::milliseconds  a_Dt,
int  a_ChunkX,
int  a_ChunkZ,
cChunk a_Chunk 
)
overrideprivatevirtual

Implements cSimulator.

Definition at line 17 of file VaporizeFluidSimulator.cpp.


The documentation for this class was generated from the following files: