summaryrefslogtreecommitdiffstats
path: root/src/BlockEntities/CommandBlockEntity.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/BlockEntities/CommandBlockEntity.cpp22
1 files changed, 19 insertions, 3 deletions
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<const cCommandBlockEntity &>(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);