diff options
author | Mattes D <github@xoft.cz> | 2017-06-15 15:32:33 +0200 |
---|---|---|
committer | Lukas Pioch <lukas@zgow.de> | 2017-06-16 14:11:28 +0200 |
commit | 0dd1cd750bb51403d85a226a97a5ad93eb99b144 (patch) | |
tree | 8c7a4e8580a780e1ed27f4141c32de7ec3087710 /src/BlockEntities/FlowerPotEntity.cpp | |
parent | Choose # of threads based on system info (#3644) (diff) | |
download | cuberite-0dd1cd750bb51403d85a226a97a5ad93eb99b144.tar cuberite-0dd1cd750bb51403d85a226a97a5ad93eb99b144.tar.gz cuberite-0dd1cd750bb51403d85a226a97a5ad93eb99b144.tar.bz2 cuberite-0dd1cd750bb51403d85a226a97a5ad93eb99b144.tar.lz cuberite-0dd1cd750bb51403d85a226a97a5ad93eb99b144.tar.xz cuberite-0dd1cd750bb51403d85a226a97a5ad93eb99b144.tar.zst cuberite-0dd1cd750bb51403d85a226a97a5ad93eb99b144.zip |
Diffstat (limited to 'src/BlockEntities/FlowerPotEntity.cpp')
-rw-r--r-- | src/BlockEntities/FlowerPotEntity.cpp | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/src/BlockEntities/FlowerPotEntity.cpp b/src/BlockEntities/FlowerPotEntity.cpp index 125b0d173..dbbbefff2 100644 --- a/src/BlockEntities/FlowerPotEntity.cpp +++ b/src/BlockEntities/FlowerPotEntity.cpp @@ -13,16 +13,45 @@ -cFlowerPotEntity::cFlowerPotEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World) : - super(E_BLOCK_FLOWER_POT, a_BlockX, a_BlockY, a_BlockZ, a_World) +cFlowerPotEntity::cFlowerPotEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World): + Super(a_BlockType, a_BlockMeta, a_BlockX, a_BlockY, a_BlockZ, a_World) { + ASSERT(a_BlockType == E_BLOCK_FLOWER_POT); +} + + + + + +void cFlowerPotEntity::Destroy(void) +{ + // Drop the contents as pickups: + if (!m_Item.IsEmpty()) + { + ASSERT(m_World != nullptr); + cItems Pickups; + Pickups.Add(m_Item); + m_World->SpawnItemPickups(Pickups, m_PosX + 0.5, m_PosY + 0.5, m_PosZ + 0.5); + + m_Item.Empty(); + } +} + + + + + +void cFlowerPotEntity::CopyFrom(const cBlockEntity & a_Src) +{ + Super::CopyFrom(a_Src); + auto & src = reinterpret_cast<const cFlowerPotEntity &>(a_Src); + m_Item = src.m_Item; } -// It don't do anything when 'used' bool cFlowerPotEntity::UsedBy(cPlayer * a_Player) { if (IsItemInPot()) @@ -56,24 +85,6 @@ void cFlowerPotEntity::SendTo(cClientHandle & a_Client) -void cFlowerPotEntity::Destroy(void) -{ - // Drop the contents as pickups: - if (!m_Item.IsEmpty()) - { - ASSERT(m_World != nullptr); - cItems Pickups; - Pickups.Add(m_Item); - m_World->SpawnItemPickups(Pickups, m_PosX + 0.5, m_PosY + 0.5, m_PosZ + 0.5); - - m_Item.Empty(); - } -} - - - - - bool cFlowerPotEntity::IsFlower(short m_ItemType, short m_ItemData) { switch (m_ItemType) |