summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Chunk.cpp6
-rw-r--r--src/World.h1
2 files changed, 7 insertions, 0 deletions
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