diff options
author | Mattes D <github@xoft.cz> | 2014-06-22 20:56:24 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-06-22 20:56:24 +0200 |
commit | fe95dfa7588dc7173bea0b6c38e9b11243ccf792 (patch) | |
tree | 4e46a3cd5351e53bc6b8d491ec99fdf8fb6fa1f8 /src/Simulator/IncrementalRedstoneSimulator.cpp | |
parent | Merge branch 'master' of https://github.com/mc-server/MCServer (diff) | |
parent | Changed 0xFFFFFFFB to ~0x04 (diff) | |
download | cuberite-fe95dfa7588dc7173bea0b6c38e9b11243ccf792.tar cuberite-fe95dfa7588dc7173bea0b6c38e9b11243ccf792.tar.gz cuberite-fe95dfa7588dc7173bea0b6c38e9b11243ccf792.tar.bz2 cuberite-fe95dfa7588dc7173bea0b6c38e9b11243ccf792.tar.lz cuberite-fe95dfa7588dc7173bea0b6c38e9b11243ccf792.tar.xz cuberite-fe95dfa7588dc7173bea0b6c38e9b11243ccf792.tar.zst cuberite-fe95dfa7588dc7173bea0b6c38e9b11243ccf792.zip |
Diffstat (limited to 'src/Simulator/IncrementalRedstoneSimulator.cpp')
-rw-r--r-- | src/Simulator/IncrementalRedstoneSimulator.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/Simulator/IncrementalRedstoneSimulator.cpp b/src/Simulator/IncrementalRedstoneSimulator.cpp index 1de0d2c34..10446a879 100644 --- a/src/Simulator/IncrementalRedstoneSimulator.cpp +++ b/src/Simulator/IncrementalRedstoneSimulator.cpp @@ -526,8 +526,11 @@ void cIncrementalRedstoneSimulator::HandleFenceGate(int a_RelBlockX, int a_RelBl { if (!AreCoordsSimulated(a_RelBlockX, a_RelBlockY, a_RelBlockZ, true)) { - m_Chunk->SetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ, MetaData | 0x4); - m_Chunk->BroadcastSoundParticleEffect(1003, BlockX, a_RelBlockY, BlockZ, 0); + if ((MetaData & 0x4) == 0) + { + m_Chunk->SetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ, MetaData | 0x4); + m_Chunk->BroadcastSoundParticleEffect(1003, BlockX, a_RelBlockY, BlockZ, 0); + } SetPlayerToggleableBlockAsSimulated(a_RelBlockX, a_RelBlockY, a_RelBlockZ, true); } } @@ -535,8 +538,11 @@ void cIncrementalRedstoneSimulator::HandleFenceGate(int a_RelBlockX, int a_RelBl { if (!AreCoordsSimulated(a_RelBlockX, a_RelBlockY, a_RelBlockZ, false)) { - m_Chunk->SetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ, MetaData & 0xFFFFFFFB); - m_Chunk->BroadcastSoundParticleEffect(1003, BlockX, a_RelBlockY, BlockZ, 0); + if ((MetaData & 0x4) != 0) + { + m_Chunk->SetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ, MetaData & ~0x04); + m_Chunk->BroadcastSoundParticleEffect(1003, BlockX, a_RelBlockY, BlockZ, 0); + } SetPlayerToggleableBlockAsSimulated(a_RelBlockX, a_RelBlockY, a_RelBlockZ, false); } } |