From 58b1b3160dd0622a3609a3c8c8d93f6482fb94af Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Tue, 4 Sep 2012 15:07:08 +0000 Subject: Fixed FS #243, server crash after restart. The blockhandler table and the itemhandler table weren't properly re-initialized. git-svn-id: http://mc-server.googlecode.com/svn/trunk@830 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cChunk.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source/cChunk.cpp') diff --git a/source/cChunk.cpp b/source/cChunk.cpp index 4e32b4dad..6295d4bba 100644 --- a/source/cChunk.cpp +++ b/source/cChunk.cpp @@ -580,15 +580,22 @@ void cChunk::TickBlocks(MTRand & a_TickRandom) default: { - cBlockHandler *Handler = BlockHandler(ID); - if(Handler->NeedsRandomTicks()) - Handler->OnUpdate(m_World, m_BlockTickX + m_PosX*Width, m_BlockTickY, m_BlockTickZ + m_PosZ*Width); + cBlockHandler * Handler = BlockHandler(ID); + ASSERT(Handler != NULL); // Happenned on server restart, FS #243 + if (Handler->NeedsRandomTicks()) + { + Handler->OnUpdate(m_World, m_BlockTickX + m_PosX * Width, m_BlockTickY, m_BlockTickZ + m_PosZ * Width); + } break; } } } } + + + + void cChunk::TickMelonPumpkin(int a_RelX, int a_RelY, int a_RelZ, int a_BlockIdx, BLOCKTYPE a_BlockType, MTRand & a_TickRandom) { NIBBLETYPE Meta = GetMeta(a_BlockIdx); -- cgit v1.2.3