summaryrefslogtreecommitdiffstats
path: root/source/Blocks/BlockHopper.h
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-06-12 10:22:34 +0200
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-06-12 10:22:34 +0200
commit007e75de9defc3d96ac61400fa983da812b4b15e (patch)
treedf77165a9f41881d373ec08e5c336c899f387481 /source/Blocks/BlockHopper.h
parentAdded cWorld::SetSignLines(), re-exported to Lua manually to avoid ghost return values (diff)
downloadcuberite-007e75de9defc3d96ac61400fa983da812b4b15e.tar
cuberite-007e75de9defc3d96ac61400fa983da812b4b15e.tar.gz
cuberite-007e75de9defc3d96ac61400fa983da812b4b15e.tar.bz2
cuberite-007e75de9defc3d96ac61400fa983da812b4b15e.tar.lz
cuberite-007e75de9defc3d96ac61400fa983da812b4b15e.tar.xz
cuberite-007e75de9defc3d96ac61400fa983da812b4b15e.tar.zst
cuberite-007e75de9defc3d96ac61400fa983da812b4b15e.zip
Diffstat (limited to 'source/Blocks/BlockHopper.h')
-rw-r--r--source/Blocks/BlockHopper.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/source/Blocks/BlockHopper.h b/source/Blocks/BlockHopper.h
new file mode 100644
index 000000000..10f865564
--- /dev/null
+++ b/source/Blocks/BlockHopper.h
@@ -0,0 +1,46 @@
+
+// BlockHopper.h
+
+// Declares the cBlockHopperHandler class representing the handler for the Hopper block
+
+
+
+
+
+class cBlockHopperHandler :
+ public cBlockEntityHandler
+{
+public:
+ cBlockHopperHandler(BLOCKTYPE a_BlockType)
+ : cBlockEntityHandler(a_BlockType)
+ {
+ }
+
+
+ virtual bool GetPlacementBlockTypeMeta(
+ cWorld * a_World, cPlayer * a_Player,
+ int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace,
+ int a_CursorX, int a_CursorY, int a_CursorZ,
+ BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
+ ) override
+ {
+ a_BlockType = m_BlockType;
+
+ // Convert the blockface into meta:
+ switch (a_BlockFace)
+ {
+ case BLOCK_FACE_BOTTOM: a_BlockMeta = E_META_HOPPER_FACING_YM; break;
+ case BLOCK_FACE_TOP: a_BlockMeta = E_META_HOPPER_FACING_YM; break;
+ case BLOCK_FACE_EAST: a_BlockMeta = E_META_HOPPER_FACING_XM; break;
+ case BLOCK_FACE_NORTH: a_BlockMeta = E_META_HOPPER_FACING_ZP; break;
+ case BLOCK_FACE_SOUTH: a_BlockMeta = E_META_HOPPER_FACING_ZM; break;
+ case BLOCK_FACE_WEST: a_BlockMeta = E_META_HOPPER_FACING_XP; break;
+ default: a_BlockMeta = E_META_HOPPER_UNATTACHED; break;
+ }
+ return true;
+ }
+} ;
+
+
+
+