diff options
author | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-05-29 17:58:40 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-05-29 17:58:40 +0200 |
commit | cea3a8e7e8cbf45f709ec63a096cf07b92c87073 (patch) | |
tree | fb328b55909c4d0e8f861f8fddf86d10a2bf860f | |
parent | Cmake system name not System name (diff) | |
download | cuberite-cea3a8e7e8cbf45f709ec63a096cf07b92c87073.tar cuberite-cea3a8e7e8cbf45f709ec63a096cf07b92c87073.tar.gz cuberite-cea3a8e7e8cbf45f709ec63a096cf07b92c87073.tar.bz2 cuberite-cea3a8e7e8cbf45f709ec63a096cf07b92c87073.tar.lz cuberite-cea3a8e7e8cbf45f709ec63a096cf07b92c87073.tar.xz cuberite-cea3a8e7e8cbf45f709ec63a096cf07b92c87073.tar.zst cuberite-cea3a8e7e8cbf45f709ec63a096cf07b92c87073.zip |
-rw-r--r-- | src/Blocks/BlockCauldron.h | 14 | ||||
-rw-r--r-- | src/Blocks/WorldInterface.h | 3 | ||||
-rw-r--r-- | src/Chunk.cpp | 1 | ||||
-rw-r--r-- | src/World.h | 4 |
4 files changed, 19 insertions, 3 deletions
diff --git a/src/Blocks/BlockCauldron.h b/src/Blocks/BlockCauldron.h index 41b79b6c3..8b5cd9ccb 100644 --- a/src/Blocks/BlockCauldron.h +++ b/src/Blocks/BlockCauldron.h @@ -58,6 +58,20 @@ public: { return true; } + + virtual void OnUpdate(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_PluginInterface, cChunk & a_Chunk, int a_RelX, int a_RelY, int a_RelZ) override + { + if (!a_WorldInterface.IsWeatherWet()) + { + return; + } + + NIBBLETYPE Meta = a_Chunk.GetMeta(a_RelX, a_RelY, a_RelZ); + if (Meta < 3) + { + a_Chunk.SetMeta(a_RelX, a_RelY, a_RelZ, Meta + 1); + } + } } ; diff --git a/src/Blocks/WorldInterface.h b/src/Blocks/WorldInterface.h index bfbb053d9..08600d502 100644 --- a/src/Blocks/WorldInterface.h +++ b/src/Blocks/WorldInterface.h @@ -37,4 +37,7 @@ public: virtual void SetTimeOfDay(Int64 a_TimeOfDay) = 0; + /** Returns true if the current weather has any precipitation - rain or storm */ + virtual bool IsWeatherWet(void) const = 0; + }; diff --git a/src/Chunk.cpp b/src/Chunk.cpp index ca536e89a..4506cfcc5 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -961,7 +961,6 @@ void cChunk::ApplyWeatherToTop() } break; } // case (snowy biomes) - // TODO: Rainy biomes should check for farmland and cauldrons default: { break; diff --git a/src/World.h b/src/World.h index 86cbb3e7e..067e18547 100644 --- a/src/World.h +++ b/src/World.h @@ -690,8 +690,8 @@ public: bool IsWeatherStorm(void) const { return (m_Weather == wStorm); } /** Returns true if the current weather has any precipitation - rain or storm */ - bool IsWeatherWet (void) const { return (m_Weather != wSunny); } - + virtual bool IsWeatherWet(void) const override { return (m_Weather != wSunny); } + // tolua_end cChunkGenerator & GetGenerator(void) { return m_Generator; } |