From 43ff96f66494dd1719d7bdb1d0f0c3957e5f61b7 Mon Sep 17 00:00:00 2001 From: Howaner Date: Tue, 17 Jun 2014 00:40:35 +0200 Subject: Add pressure plate handler --- src/Blocks/BlockPressurePlate.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/Blocks/BlockPressurePlate.h (limited to 'src/Blocks/BlockPressurePlate.h') diff --git a/src/Blocks/BlockPressurePlate.h b/src/Blocks/BlockPressurePlate.h new file mode 100644 index 000000000..2e6754cdb --- /dev/null +++ b/src/Blocks/BlockPressurePlate.h @@ -0,0 +1,34 @@ + +#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)); + } +}; \ No newline at end of file -- cgit v1.2.3 From 1316d2d24d2760f191a873e35959aee209b70f87 Mon Sep 17 00:00:00 2001 From: Howaner Date: Tue, 17 Jun 2014 00:41:31 +0200 Subject: Add end lines to BlockPressurePlate.h --- src/Blocks/BlockPressurePlate.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Blocks/BlockPressurePlate.h') diff --git a/src/Blocks/BlockPressurePlate.h b/src/Blocks/BlockPressurePlate.h index 2e6754cdb..01d5e8174 100644 --- a/src/Blocks/BlockPressurePlate.h +++ b/src/Blocks/BlockPressurePlate.h @@ -31,4 +31,8 @@ public: return (BlockBelow == E_BLOCK_FENCE_GATE || BlockBelow == E_BLOCK_FENCE || cBlockInfo::IsSolid(BlockBelow)); } -}; \ No newline at end of file +} ; + + + + -- cgit v1.2.3 From a4d4621fbe6dbab3e2202f17e8f0b384120041e0 Mon Sep 17 00:00:00 2001 From: Howaner Date: Tue, 17 Jun 2014 12:47:18 +0200 Subject: Add parenthesis --- src/Blocks/BlockPressurePlate.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Blocks/BlockPressurePlate.h') diff --git a/src/Blocks/BlockPressurePlate.h b/src/Blocks/BlockPressurePlate.h index 01d5e8174..adec36eb6 100644 --- a/src/Blocks/BlockPressurePlate.h +++ b/src/Blocks/BlockPressurePlate.h @@ -27,9 +27,9 @@ public: { 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)); + 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)); } } ; -- cgit v1.2.3