summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockPressurePlate.h
diff options
context:
space:
mode:
authorMichal Havlíček <80639037+havel06@users.noreply.github.com>2023-01-25 21:46:34 +0100
committerGitHub <noreply@github.com>2023-01-25 21:46:34 +0100
commit7fdfb8644169a25805afd32f00ced38c1c14cec8 (patch)
tree33f107ef8a6e8c1821187294cbadd965418b6e3b /src/Blocks/BlockPressurePlate.h
parentChanged Windows instructions to build out-of-source. (diff)
downloadcuberite-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.h20
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: