2014-03-05 08:54:38 -05:00
|
|
|
|
|
|
|
// VanillaFluidSimulator.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "FloodyFluidSimulator.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-13 12:38:06 -04:00
|
|
|
class cVanillaFluidSimulator:
|
2014-03-05 08:54:38 -05:00
|
|
|
public cFloodyFluidSimulator
|
|
|
|
{
|
2020-04-13 12:38:06 -04:00
|
|
|
using Super = cFloodyFluidSimulator;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-03-05 08:54:38 -05:00
|
|
|
public:
|
2020-04-13 12:38:06 -04:00
|
|
|
|
|
|
|
cVanillaFluidSimulator(
|
|
|
|
cWorld & a_World,
|
|
|
|
BLOCKTYPE a_Fluid,
|
|
|
|
BLOCKTYPE a_StationaryFluid,
|
|
|
|
NIBBLETYPE a_Falloff,
|
|
|
|
int a_TickDelay,
|
|
|
|
int a_NumNeighborsForSource
|
|
|
|
);
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-03-05 08:54:38 -05:00
|
|
|
protected:
|
|
|
|
// cFloodyFluidSimulator overrides:
|
2014-05-02 16:07:30 -04:00
|
|
|
virtual void SpreadXZ(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, NIBBLETYPE a_NewMeta) override;
|
2014-03-05 08:54:38 -05:00
|
|
|
|
|
|
|
/** 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);
|
|
|
|
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|