Implemented vanilla-like fluid simulator
This commit is contained in:
42
src/Simulator/VanillaFluidSimulator.h
Normal file
42
src/Simulator/VanillaFluidSimulator.h
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
// VanillaFluidSimulator.h
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "FloodyFluidSimulator.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// fwd:
|
||||
class cBlockArea;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class cVanillaFluidSimulator :
|
||||
public cFloodyFluidSimulator
|
||||
{
|
||||
typedef cFloodyFluidSimulator super;
|
||||
|
||||
public:
|
||||
cVanillaFluidSimulator(cWorld & a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid, NIBBLETYPE a_Falloff, int a_TickDelay, int a_NumNeighborsForSource);
|
||||
|
||||
protected:
|
||||
// cFloodyFluidSimulator overrides:
|
||||
virtual void Spread(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta) override;
|
||||
|
||||
/** Recursively calculates the minimum number of blocks needed to descend a level. */
|
||||
int CalculateFlowCost(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, Direction a_Dir, unsigned a_Iteration = 0);
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user