summaryrefslogtreecommitdiffstats
path: root/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h')
-rw-r--r--src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h99
1 files changed, 61 insertions, 38 deletions
diff --git a/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h b/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h
index 95ef6ae62..006bda455 100644
--- a/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h
+++ b/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h
@@ -9,52 +9,75 @@
namespace HopperHandler
{
- static PowerLevel GetPowerDeliveredToPosition(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType, bool IsLinked)
- {
- UNUSED(a_Chunk);
- UNUSED(a_Position);
- UNUSED(a_BlockType);
- UNUSED(a_QueryPosition);
- UNUSED(a_QueryBlockType);
- UNUSED(IsLinked);
- return 0;
- }
+static PowerLevel GetPowerDeliveredToPosition(
+ const cChunk & a_Chunk,
+ Vector3i a_Position,
+ BLOCKTYPE a_BlockType,
+ Vector3i a_QueryPosition,
+ BLOCKTYPE a_QueryBlockType,
+ bool IsLinked
+)
+{
+ UNUSED(a_Chunk);
+ UNUSED(a_Position);
+ UNUSED(a_BlockType);
+ UNUSED(a_QueryPosition);
+ UNUSED(a_QueryBlockType);
+ UNUSED(IsLinked);
+ return 0;
+}
- static void Update(cChunk & a_Chunk, cChunk &, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const PowerLevel Power)
- {
- // LOGD("Evaluating holey the hopper (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
+static void Update(
+ cChunk & a_Chunk,
+ cChunk &,
+ Vector3i a_Position,
+ BLOCKTYPE a_BlockType,
+ NIBBLETYPE a_Meta,
+ const PowerLevel Power
+)
+{
+ // LOGD("Evaluating holey the hopper (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
- const bool ShouldBeLocked = Power != 0;
- const bool PreviouslyLocked = (a_Meta & 0x8) == 0x8;
+ const bool ShouldBeLocked = Power != 0;
+ const bool PreviouslyLocked = (a_Meta & 0x8) == 0x8;
- if (ShouldBeLocked == PreviouslyLocked)
- {
- return;
- }
+ if (ShouldBeLocked == PreviouslyLocked)
+ {
+ return;
+ }
- if (ShouldBeLocked)
- {
- a_Chunk.SetMeta(a_Position, a_Meta | 0x8);
- }
- else
- {
- a_Chunk.SetMeta(a_Position, a_Meta & ~0x8);
- }
+ if (ShouldBeLocked)
+ {
+ a_Chunk.SetMeta(a_Position, a_Meta | 0x8);
+ }
+ else
+ {
+ a_Chunk.SetMeta(a_Position, a_Meta & ~0x8);
+ }
- a_Chunk.DoWithBlockEntityAt(a_Position, [ShouldBeLocked](cBlockEntity & a_BlockEntity)
+ a_Chunk.DoWithBlockEntityAt(
+ a_Position,
+ [ShouldBeLocked](cBlockEntity & a_BlockEntity)
{
ASSERT(a_BlockEntity.GetBlockType() == E_BLOCK_HOPPER);
static_cast<cHopperEntity &>(a_BlockEntity).SetLocked(ShouldBeLocked);
return false;
- });
- }
+ }
+ );
+}
- static void ForValidSourcePositions(const cChunk & a_Chunk, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, ForEachSourceCallback & Callback)
- {
- UNUSED(a_Chunk);
- UNUSED(a_BlockType);
- UNUSED(a_Meta);
- InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents);
- }
-};
+static void ForValidSourcePositions(
+ const cChunk & a_Chunk,
+ Vector3i a_Position,
+ BLOCKTYPE a_BlockType,
+ NIBBLETYPE a_Meta,
+ ForEachSourceCallback & Callback
+)
+{
+ UNUSED(a_Chunk);
+ UNUSED(a_BlockType);
+ UNUSED(a_Meta);
+ InvokeForAdjustedRelatives(Callback, a_Position, RelativeAdjacents);
+}
+}; // namespace HopperHandler