summaryrefslogtreecommitdiffstats
path: root/source/Blocks/BlockLever.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Blocks/BlockLever.h')
-rw-r--r--source/Blocks/BlockLever.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/source/Blocks/BlockLever.h b/source/Blocks/BlockLever.h
index 5553170e2..fe7ecdf7e 100644
--- a/source/Blocks/BlockLever.h
+++ b/source/Blocks/BlockLever.h
@@ -1,7 +1,6 @@
#pragma once
#include "BlockHandler.h"
-#include "../Simulator/RedstoneSimulator.h"
@@ -37,11 +36,27 @@ public:
) override
{
a_BlockType = m_BlockType;
- a_BlockMeta = cRedstoneSimulator::LeverDirectionToMetaData(a_BlockFace);
+ a_BlockMeta = LeverDirectionToMetaData(a_BlockFace);
return true;
}
+ inline static NIBBLETYPE LeverDirectionToMetaData(char a_Dir)
+ {
+ // Determine lever direction:
+ switch (a_Dir)
+ {
+ case BLOCK_FACE_TOP: return 0x6;
+ case BLOCK_FACE_EAST: return 0x1;
+ case BLOCK_FACE_WEST: return 0x2;
+ case BLOCK_FACE_SOUTH: return 0x3;
+ case BLOCK_FACE_NORTH: return 0x4;
+ case BLOCK_FACE_BOTTOM: return 0x0;
+ default: return 0x6;
+ }
+ }
+
+
virtual const char * GetStepSound(void) override
{
return "step.wood";