diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-14 19:06:21 +0200 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-14 19:06:21 +0200 |
commit | 5b7de82a79e3f18affcffd686484a681d187942a (patch) | |
tree | 3a0b766fd827de634456bee9ea9ce225f40bfb60 /source/Simulator/FloodyFluidSimulator.h | |
parent | Biomal CompoGen now generates sea with STATIONARY_WATER instead of regular WATER. (diff) | |
download | cuberite-5b7de82a79e3f18affcffd686484a681d187942a.tar cuberite-5b7de82a79e3f18affcffd686484a681d187942a.tar.gz cuberite-5b7de82a79e3f18affcffd686484a681d187942a.tar.bz2 cuberite-5b7de82a79e3f18affcffd686484a681d187942a.tar.lz cuberite-5b7de82a79e3f18affcffd686484a681d187942a.tar.xz cuberite-5b7de82a79e3f18affcffd686484a681d187942a.tar.zst cuberite-5b7de82a79e3f18affcffd686484a681d187942a.zip |
Diffstat (limited to 'source/Simulator/FloodyFluidSimulator.h')
-rw-r--r-- | source/Simulator/FloodyFluidSimulator.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/source/Simulator/FloodyFluidSimulator.h b/source/Simulator/FloodyFluidSimulator.h new file mode 100644 index 000000000..d3fa85fce --- /dev/null +++ b/source/Simulator/FloodyFluidSimulator.h @@ -0,0 +1,49 @@ +
+// FloodyFluidSimulator.h
+
+// Interfaces to the cFloodyFluidSimulator that represents a fluid simulator that tries to flood everything :)
+// http://forum.mc-server.org/showthread.php?tid=565
+
+
+
+
+
+#pragma once
+
+#include "DelayedFluidSimulator.h"
+
+
+
+
+
+// fwd:
+class cBlockArea;
+
+
+
+
+
+class cFloodyFluidSimulator :
+ public cDelayedFluidSimulator
+{
+ typedef cDelayedFluidSimulator super;
+
+public:
+ cFloodyFluidSimulator(cWorld * a_World, BLOCKTYPE a_Fluid, BLOCKTYPE a_StationaryFluid, NIBBLETYPE a_Falloff, int a_TickDelay);
+
+protected:
+ NIBBLETYPE m_Falloff;
+
+ // cDelayedFluidSimulator overrides:
+ virtual void SimulateBlock(int a_BlockX, int a_BlockY, int a_BlockZ) override;
+
+ /// Checks tributaries, if not fed, decreases the block's level and returns true
+ bool CheckTributaries(int a_BlockX, int a_BlockY, int a_BlockZ, const cBlockArea & a_Area, NIBBLETYPE a_MyMeta);
+
+ /// Spreads into the specified block, if the block there allows. a_Area is for checking.
+ void SpreadToNeighbor(int a_BlockX, int a_BlockY, int a_BlockZ, const cBlockArea & a_Area, NIBBLETYPE a_NewMeta);
+} ;
+
+
+
+
|