summaryrefslogtreecommitdiffstats
path: root/src/Blocks
diff options
context:
space:
mode:
authorBond-009 <Bond-009@users.noreply.github.com>2017-06-22 21:11:46 +0200
committerMattes D <github@xoft.cz>2017-06-22 21:11:46 +0200
commit8484d05d65cd8aa4348ddf2ed223e3108265b8a3 (patch)
tree9f6a06062fdfb7248f0e64e7f2e36bb4db278697 /src/Blocks
parentNetworkSingleton: Fixed a throw warning in VS2017. (#3792) (diff)
downloadcuberite-8484d05d65cd8aa4348ddf2ed223e3108265b8a3.tar
cuberite-8484d05d65cd8aa4348ddf2ed223e3108265b8a3.tar.gz
cuberite-8484d05d65cd8aa4348ddf2ed223e3108265b8a3.tar.bz2
cuberite-8484d05d65cd8aa4348ddf2ed223e3108265b8a3.tar.lz
cuberite-8484d05d65cd8aa4348ddf2ed223e3108265b8a3.tar.xz
cuberite-8484d05d65cd8aa4348ddf2ed223e3108265b8a3.tar.zst
cuberite-8484d05d65cd8aa4348ddf2ed223e3108265b8a3.zip
Diffstat (limited to 'src/Blocks')
-rw-r--r--src/Blocks/BlockPressurePlate.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/Blocks/BlockPressurePlate.h b/src/Blocks/BlockPressurePlate.h
index 5829b5190..7fb7585f1 100644
--- a/src/Blocks/BlockPressurePlate.h
+++ b/src/Blocks/BlockPressurePlate.h
@@ -23,12 +23,31 @@ public:
virtual bool CanBeAt(cChunkInterface & a_ChunkInterface, int a_RelX, int a_RelY, int a_RelZ, const cChunk & a_Chunk) override
{
- if (a_RelY <= 0)
+ if (a_RelY - 1 <= 0)
{
return false;
}
- return (cBlockInfo::FullyOccupiesVoxel(a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ)));
+ // TODO: check if the block is upside-down slab or upside-down stairs
+ BLOCKTYPE Block = a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ);
+ switch (Block)
+ {
+ case E_BLOCK_ACACIA_FENCE:
+ case E_BLOCK_BIRCH_FENCE:
+ case E_BLOCK_DARK_OAK_FENCE:
+ case E_BLOCK_FENCE:
+ case E_BLOCK_HOPPER:
+ case E_BLOCK_JUNGLE_FENCE:
+ case E_BLOCK_NETHER_BRICK_FENCE:
+ case E_BLOCK_SPRUCE_FENCE:
+ {
+ return true;
+ }
+ default:
+ {
+ return (!cBlockInfo::IsTransparent(Block));
+ }
+ }
}
virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override