From 6b6905fe1cbe3b07ff29e1df9259c0b7c3619421 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Thu, 12 Dec 2013 23:49:10 +0000 Subject: [PATCH] Redstone data is now loaded on chunk load --- src/Chunk.cpp | 6 ++++++ src/World.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/Chunk.cpp b/src/Chunk.cpp index 9c195fdf8..190521c0f 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -1335,6 +1335,7 @@ void cChunk::WakeUpSimulators(void) { cSimulator * WaterSimulator = m_World->GetWaterSimulator(); cSimulator * LavaSimulator = m_World->GetLavaSimulator(); + cSimulator * RedstoneSimulator = m_World->GetRedstoneSimulator(); int BaseX = m_PosX * cChunkDef::Width; int BaseZ = m_PosZ * cChunkDef::Width; for (int x = 0; x < Width; x++) @@ -1357,6 +1358,11 @@ void cChunk::WakeUpSimulators(void) LavaSimulator->AddBlock(BlockX, y, BlockZ, this); break; } + default: + { + RedstoneSimulator->AddBlock(BlockX, y, BlockZ, this); // Redstone simulator checks if valid redstone block already + break; + } } // switch (BlockType) } // for y } // for z diff --git a/src/World.h b/src/World.h index b6ab321fb..fc821a68a 100644 --- a/src/World.h +++ b/src/World.h @@ -392,6 +392,7 @@ public: inline cFluidSimulator * GetWaterSimulator(void) { return m_WaterSimulator; } inline cFluidSimulator * GetLavaSimulator (void) { return m_LavaSimulator; } + inline cRedstoneSimulator * GetRedstoneSimulator(void) { return m_RedstoneSimulator; } /// Calls the callback for each block entity in the specified chunk; returns true if all block entities processed, false if the callback aborted by returning true bool ForEachBlockEntityInChunk(int a_ChunkX, int a_ChunkZ, cBlockEntityCallback & a_Callback); // Exported in ManualBindings.cpp