summaryrefslogtreecommitdiffstats
path: root/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@outlook.com>2016-02-09 23:02:50 +0100
committerTiger Wang <ziwei.tiger@outlook.com>2016-02-09 23:02:50 +0100
commit3c272b55ea1239238ad9726bba9f7dc8b130e545 (patch)
tree1132b156ca24e691a1c3306b8eb81ba296c6f2f6 /src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp
parentMerge pull request #2996 from LogicParrot/message2 (diff)
parentUpdate RedstoneSimulator to delete unused cached PowerData (diff)
downloadcuberite-3c272b55ea1239238ad9726bba9f7dc8b130e545.tar
cuberite-3c272b55ea1239238ad9726bba9f7dc8b130e545.tar.gz
cuberite-3c272b55ea1239238ad9726bba9f7dc8b130e545.tar.bz2
cuberite-3c272b55ea1239238ad9726bba9f7dc8b130e545.tar.lz
cuberite-3c272b55ea1239238ad9726bba9f7dc8b130e545.tar.xz
cuberite-3c272b55ea1239238ad9726bba9f7dc8b130e545.tar.zst
cuberite-3c272b55ea1239238ad9726bba9f7dc8b130e545.zip
Diffstat (limited to 'src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp')
-rw-r--r--src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp b/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp
index 3c79d152b..0e9621910 100644
--- a/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp
+++ b/src/Simulator/IncrementalRedstoneSimulator/IncrementalRedstoneSimulator.cpp
@@ -125,8 +125,11 @@ void cIncrementalRedstoneSimulator::Simulate(float a_dt)
}
auto CurrentHandler = cIncrementalRedstoneSimulator::CreateComponent(m_World, CurrentBlock, &m_Data);
- if (CurrentHandler == nullptr)
+ if (CurrentHandler == nullptr) // Block at CurrentPosition doesn't have a corresponding redstone handler
{
+ // Clean up cached PowerData for CurrentPosition
+ static_cast<cIncrementalRedstoneSimulator *>(m_World.GetRedstoneSimulator())->GetChunkData()->ErasePowerData(CurrentLocation);
+
continue;
}