summaryrefslogtreecommitdiffstats
path: root/src/Simulator/IncrementalRedstoneSimulator.cpp
diff options
context:
space:
mode:
authorGargaj <gargaj@conspiracy.hu>2015-11-07 16:16:22 +0100
committerGargaj <gargaj@conspiracy.hu>2015-11-08 20:57:05 +0100
commit2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8 (patch)
tree3078a61628c4b1b022d687ed9b44dfd67232894e /src/Simulator/IncrementalRedstoneSimulator.cpp
parentMerge pull request #2624 from Gargaj/patch-2 (diff)
downloadcuberite-2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8.tar
cuberite-2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8.tar.gz
cuberite-2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8.tar.bz2
cuberite-2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8.tar.lz
cuberite-2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8.tar.xz
cuberite-2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8.tar.zst
cuberite-2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8.zip
Diffstat (limited to '')
-rw-r--r--src/Simulator/IncrementalRedstoneSimulator.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Simulator/IncrementalRedstoneSimulator.cpp b/src/Simulator/IncrementalRedstoneSimulator.cpp
index b13ba9303..43f38584e 100644
--- a/src/Simulator/IncrementalRedstoneSimulator.cpp
+++ b/src/Simulator/IncrementalRedstoneSimulator.cpp
@@ -1161,14 +1161,23 @@ void cIncrementalRedstoneSimulator::HandlePressurePlate(int a_RelBlockX, int a_R
// MCS feature - stone pressure plates can only be triggered by players :D
cPlayer * a_Player = this->m_World.FindClosestPlayer(Vector3f(BlockX + 0.5f, static_cast<float>(a_RelBlockY), BlockZ + 0.5f), 0.5f, false);
+ NIBBLETYPE Meta = m_Chunk->GetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ);
if (a_Player != nullptr)
{
+ if (Meta == E_META_PRESSURE_PLATE_RAISED)
+ {
+ m_Chunk->BroadcastSoundEffect("random.click", static_cast<double>(BlockX) + 0.5, static_cast<double>(a_RelBlockY) + 0.1, static_cast<double>(BlockZ) + 0.5, 0.3F, 0.5F);
+ }
m_Chunk->SetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ, 0x1);
SetAllDirsAsPowered(a_RelBlockX, a_RelBlockY, a_RelBlockZ);
SetDirectionLinkedPowered(a_RelBlockX, a_RelBlockY, a_RelBlockZ, BLOCK_FACE_YM);
}
else
{
+ if (Meta == E_META_PRESSURE_PLATE_DEPRESSED)
+ {
+ m_Chunk->BroadcastSoundEffect("random.click", static_cast<double>(BlockX) + 0.5, static_cast<double>(a_RelBlockY) + 0.1, static_cast<double>(BlockZ) + 0.5, 0.3F, 0.6F);
+ }
m_Chunk->SetMeta(a_RelBlockX, a_RelBlockY, a_RelBlockZ, 0x0);
SetSourceUnpowered(a_RelBlockX, a_RelBlockY, a_RelBlockZ, m_Chunk);
}