Cuberite
A lightweight, fast and extensible game server for Minecraft
VanillaFluidSimulator.h
Go to the documentation of this file.
1 
2 // VanillaFluidSimulator.h
3 
4 
5 
6 
7 
8 #pragma once
9 
10 #include "FloodyFluidSimulator.h"
11 
12 
13 
14 
15 
18 {
20 
21 public:
22 
24  cWorld & a_World,
25  BLOCKTYPE a_Fluid,
26  BLOCKTYPE a_StationaryFluid,
27  NIBBLETYPE a_Falloff,
28  int a_TickDelay,
29  int a_NumNeighborsForSource
30  );
31 
32 protected:
33  // cFloodyFluidSimulator overrides:
34  virtual void SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta) override;
35 
37  int CalculateFlowCost(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, Direction a_Dir, unsigned a_Iteration = 0);
38 
39 } ;
40 
41 
42 
43 
unsigned char NIBBLETYPE
The datatype used by nibbledata (meta, light, skylight)
Definition: ChunkDef.h:44
unsigned char BLOCKTYPE
The datatype used by blockdata.
Definition: ChunkDef.h:41
Direction
Definition: Chunk.h:36
cFloodyFluidSimulator(cWorld &a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid, NIBBLETYPE a_Falloff, int a_TickDelay, int a_NumNeighborsForSource)
cVanillaFluidSimulator(cWorld &a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid, NIBBLETYPE a_Falloff, int a_TickDelay, int a_NumNeighborsForSource)
virtual void SpreadXZ(cChunk *a_Chunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta) override
Spread fluid to XZ neighbors.
int CalculateFlowCost(cChunk *a_Chunk, int a_RelX, int a_RelY, int a_RelZ, Direction a_Dir, unsigned a_Iteration=0)
Recursively calculates the minimum number of blocks needed to descend a level.
Definition: World.h:53