From 2ce2d9b7ce38d5c2c1ad2be25456c05655a99db8 Mon Sep 17 00:00:00 2001 From: Gargaj Date: Sat, 7 Nov 2015 16:16:22 +0100 Subject: add sound to stone pressure plates add sound to stone pressure plates --- src/Simulator/IncrementalRedstoneSimulator.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) 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(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(BlockX) + 0.5, static_cast(a_RelBlockY) + 0.1, static_cast(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(BlockX) + 0.5, static_cast(a_RelBlockY) + 0.1, static_cast(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); } -- cgit v1.2.3