diff options
author | Michal Havlíček <80639037+havel06@users.noreply.github.com> | 2023-01-25 21:46:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-25 21:46:34 +0100 |
commit | 7fdfb8644169a25805afd32f00ced38c1c14cec8 (patch) | |
tree | 33f107ef8a6e8c1821187294cbadd965418b6e3b /src/Blocks/BlockPressurePlate.h | |
parent | Changed Windows instructions to build out-of-source. (diff) | |
download | cuberite-7fdfb8644169a25805afd32f00ced38c1c14cec8.tar cuberite-7fdfb8644169a25805afd32f00ced38c1c14cec8.tar.gz cuberite-7fdfb8644169a25805afd32f00ced38c1c14cec8.tar.bz2 cuberite-7fdfb8644169a25805afd32f00ced38c1c14cec8.tar.lz cuberite-7fdfb8644169a25805afd32f00ced38c1c14cec8.tar.xz cuberite-7fdfb8644169a25805afd32f00ced38c1c14cec8.tar.zst cuberite-7fdfb8644169a25805afd32f00ced38c1c14cec8.zip |
Diffstat (limited to 'src/Blocks/BlockPressurePlate.h')
-rw-r--r-- | src/Blocks/BlockPressurePlate.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/Blocks/BlockPressurePlate.h b/src/Blocks/BlockPressurePlate.h index d2f05b2e7..6d852bfc0 100644 --- a/src/Blocks/BlockPressurePlate.h +++ b/src/Blocks/BlockPressurePlate.h @@ -2,6 +2,9 @@ #pragma once #include "BlockHandler.h" +#include "BlockSlab.h" +#include "../Chunk.h" +#include "BlockStairs.h" @@ -24,9 +27,22 @@ private: return false; } - // TODO: check if the block is upside-down slab or upside-down stairs + BLOCKTYPE Block; + NIBBLETYPE BlockMeta; + a_Chunk.GetBlockTypeMeta(a_Position.addedY(-1), Block, BlockMeta); + + // upside down slabs + if (cBlockSlabHandler::IsAnySlabType(Block)) + { + return BlockMeta & E_META_WOODEN_SLAB_UPSIDE_DOWN; + } + + // upside down stairs + if (cBlockStairsHandler::IsAnyStairType(Block)) + { + return BlockMeta & E_BLOCK_STAIRS_UPSIDE_DOWN; + } - const auto Block = a_Chunk.GetBlock(a_Position.addedY(-1)); switch (Block) { case E_BLOCK_ACACIA_FENCE: |