From 0dd1cd750bb51403d85a226a97a5ad93eb99b144 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Thu, 15 Jun 2017 15:32:33 +0200 Subject: BlockEntities: Support cloning self. --- src/BlockEntities/CommandBlockEntity.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/BlockEntities/CommandBlockEntity.cpp') diff --git a/src/BlockEntities/CommandBlockEntity.cpp b/src/BlockEntities/CommandBlockEntity.cpp index 5a273d56f..43e9316c5 100644 --- a/src/BlockEntities/CommandBlockEntity.cpp +++ b/src/BlockEntities/CommandBlockEntity.cpp @@ -17,11 +17,13 @@ -cCommandBlockEntity::cCommandBlockEntity(int a_X, int a_Y, int a_Z, cWorld * a_World) : - super(E_BLOCK_COMMAND_BLOCK, a_X, a_Y, a_Z, a_World), +cCommandBlockEntity::cCommandBlockEntity(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), m_ShouldExecute(false), m_Result(0) -{} +{ + ASSERT(a_BlockType == E_BLOCK_COMMAND_BLOCK); +} @@ -112,6 +114,20 @@ void cCommandBlockEntity::Activate(void) +void cCommandBlockEntity::CopyFrom(const cBlockEntity & a_Src) +{ + Super::CopyFrom(a_Src); + auto & src = reinterpret_cast(a_Src); + m_Command = src.m_Command; + m_LastOutput = src.m_LastOutput; + m_Result = src.m_Result; + m_ShouldExecute = src.m_ShouldExecute; +} + + + + + bool cCommandBlockEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { UNUSED(a_Dt); -- cgit v1.2.3