diff --git a/src/Blocks/BlockNetherWart.h b/src/Blocks/BlockNetherWart.h index 10f4aa8f4..0e3497688 100644 --- a/src/Blocks/BlockNetherWart.h +++ b/src/Blocks/BlockNetherWart.h @@ -18,7 +18,7 @@ public: : Super(a_BlockType, false) { } - + virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_Meta) override { cFastRandom rand; @@ -41,6 +41,10 @@ public: { a_Chunk.FastSetBlock(a_RelX, a_RelY, a_RelZ, E_BLOCK_NETHER_WART, ++Meta); } + else if (Meta > 3) // In older versions of cuberite, there was a bug which made wart grow too much. This check fixes previously saved buggy warts. + { + a_Chunk.FastSetBlock(a_RelX, a_RelY, a_RelZ, E_BLOCK_NETHER_WART, 3); + } } virtual bool CanBeAt(cChunkInterface & a_ChunkInterface, int a_RelX, int a_RelY, int a_RelZ, const cChunk & a_Chunk) override