summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockPressurePlate.h
diff options
context:
space:
mode:
authorHowaner <franzi.moos@googlemail.com>2014-06-26 15:49:53 +0200
committerHowaner <franzi.moos@googlemail.com>2014-06-26 15:49:53 +0200
commiteaf36766f60662a0aa7829ae3d96f47fd91b408d (patch)
tree3075c09f947dfbaff163c405c74f518a8064ea89 /src/Blocks/BlockPressurePlate.h
parentderp (diff)
parentMerge pull request #1126 from mc-server/BlockInfoInit (diff)
downloadcuberite-eaf36766f60662a0aa7829ae3d96f47fd91b408d.tar
cuberite-eaf36766f60662a0aa7829ae3d96f47fd91b408d.tar.gz
cuberite-eaf36766f60662a0aa7829ae3d96f47fd91b408d.tar.bz2
cuberite-eaf36766f60662a0aa7829ae3d96f47fd91b408d.tar.lz
cuberite-eaf36766f60662a0aa7829ae3d96f47fd91b408d.tar.xz
cuberite-eaf36766f60662a0aa7829ae3d96f47fd91b408d.tar.zst
cuberite-eaf36766f60662a0aa7829ae3d96f47fd91b408d.zip
Diffstat (limited to 'src/Blocks/BlockPressurePlate.h')
-rw-r--r--src/Blocks/BlockPressurePlate.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/Blocks/BlockPressurePlate.h b/src/Blocks/BlockPressurePlate.h
new file mode 100644
index 000000000..adec36eb6
--- /dev/null
+++ b/src/Blocks/BlockPressurePlate.h
@@ -0,0 +1,38 @@
+
+#pragma once
+
+#include "BlockHandler.h"
+
+
+
+
+class cBlockPressurePlateHandler :
+ public cBlockHandler
+{
+public:
+ cBlockPressurePlateHandler(BLOCKTYPE a_BlockType)
+ : cBlockHandler(a_BlockType)
+ {
+ }
+
+ virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
+ {
+ // Reset meta to 0
+ a_Pickups.push_back(cItem(m_BlockType, 1, 0));
+ }
+
+ virtual bool CanBeAt(cChunkInterface & a_ChunkInterface, int a_RelX, int a_RelY, int a_RelZ, const cChunk & a_Chunk) override
+ {
+ if (a_RelY <= 0)
+ {
+ return false;
+ }
+
+ BLOCKTYPE BlockBelow = a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ);
+ return ((BlockBelow == E_BLOCK_FENCE_GATE) || (BlockBelow == E_BLOCK_FENCE) || cBlockInfo::IsSolid(BlockBelow));
+ }
+} ;
+
+
+
+