diff options
author | Tiger Wang <ziwei.tiger@outlook.com> | 2020-08-08 19:22:16 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2020-08-08 19:22:16 +0200 |
commit | 40eba5244ddd7045a9c3539c5f46c9921301ed90 (patch) | |
tree | 9edf40e2e5033ad19ce8a0739668500e30de653e /src/Blocks | |
parent | const-ify some Chunk functions (diff) | |
download | cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.gz cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.bz2 cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.lz cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.xz cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.tar.zst cuberite-40eba5244ddd7045a9c3539c5f46c9921301ed90.zip |
Diffstat (limited to 'src/Blocks')
-rw-r--r-- | src/Blocks/BlockButton.h | 27 | ||||
-rw-r--r-- | src/Blocks/BlockLever.h | 3 |
2 files changed, 4 insertions, 26 deletions
diff --git a/src/Blocks/BlockButton.h b/src/Blocks/BlockButton.h index 9d8bf3da1..f4994f193 100644 --- a/src/Blocks/BlockButton.h +++ b/src/Blocks/BlockButton.h @@ -48,7 +48,7 @@ public: const auto SoundToPlay = (m_BlockType == E_BLOCK_STONE_BUTTON) ? "block.stone_button.click_on" : "block.wood_button.click_on"; a_ChunkInterface.SetBlockMeta(a_BlockPos, Meta, false); - WakeUpSimulators(a_WorldInterface, a_BlockPos); + a_WorldInterface.WakeUpSimulators(a_BlockPos); a_WorldInterface.GetBroadcastManager().BroadcastSoundEffect(SoundToPlay, a_BlockPos, 0.5f, 0.6f, a_Player.GetClientHandle()); // Queue a button reset (unpress) @@ -186,7 +186,7 @@ public: } a_World.SetBlockMeta(Pos, Meta | 0x08, false); - WakeUpSimulators(a_World, Pos); + a_World.WakeUpSimulators(Pos); // sound name is ok to be wood, because only wood gets triggered by arrow a_World.GetBroadcastManager().BroadcastSoundEffect("block.wood_button.click_on", Pos, 0.5f, 0.6f); @@ -195,27 +195,6 @@ public: QueueButtonRelease(a_World, Pos, Type); } - /** Notify, mainly the redstone simulator, that this toggle component has updated. */ - template <class WorldType> - static void WakeUpSimulators(WorldType & a_World, const Vector3i a_Position) - { - // Contains our direct adjacents - static const Vector3i Offsets[] = - { - { 1, 0, 0 }, - { -1, 0, 0 }, - { 0, 1, 0 }, - { 0, -1, 0 }, - { 0, 0, 1 }, - { 0, 0, -1 } - }; - - for (const auto & Offset : Offsets) - { - a_World.WakeUpSimulators(a_Position + Offset); - } - } - private: /** Schedules a recurring event at appropriate intervals to release a button at a given position. @@ -250,7 +229,7 @@ private: const auto SoundToPlayOnRelease = (Type == E_BLOCK_STONE_BUTTON) ? "block.stone_button.click_off" : "block.wood_button.click_off"; a_World.SetBlockMeta(a_Position, Meta & 0x07, false); - WakeUpSimulators(a_World, a_Position); + a_World.WakeUpSimulators(a_Position); a_World.BroadcastSoundEffect(SoundToPlayOnRelease, a_Position, 0.5f, 0.5f); } ); diff --git a/src/Blocks/BlockLever.h b/src/Blocks/BlockLever.h index 7f028b61f..4a682322d 100644 --- a/src/Blocks/BlockLever.h +++ b/src/Blocks/BlockLever.h @@ -3,7 +3,6 @@ #include "BlockHandler.h" #include "../Chunk.h" #include "Mixins.h" -#include "BlockButton.h" #include "BlockSlab.h" @@ -36,7 +35,7 @@ public: NIBBLETYPE Meta = (a_ChunkInterface.GetBlockMeta(a_BlockPos) ^ 0x08); a_ChunkInterface.SetBlockMeta(a_BlockPos, Meta); - cBlockButtonHandler::WakeUpSimulators(a_WorldInterface, a_BlockPos); + a_WorldInterface.WakeUpSimulators(a_BlockPos); a_WorldInterface.GetBroadcastManager().BroadcastSoundEffect("block.lever.click", a_BlockPos, 0.5f, (Meta & 0x08) ? 0.6f : 0.5f); return true; } |