diff options
author | Mattes D <github@xoft.cz> | 2014-01-23 14:06:05 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-01-23 14:06:05 +0100 |
commit | 0526ed327c9679919486e49f36ba4d051390a73e (patch) | |
tree | 7a75ff77e167214dd3dc63c31df4fc41ad8d6530 /src/BlockEntities/CommandBlockEntity.cpp | |
parent | Authenticator: Reduced logging levels. (diff) | |
parent | Command block fixes 2 (diff) | |
download | cuberite-0526ed327c9679919486e49f36ba4d051390a73e.tar cuberite-0526ed327c9679919486e49f36ba4d051390a73e.tar.gz cuberite-0526ed327c9679919486e49f36ba4d051390a73e.tar.bz2 cuberite-0526ed327c9679919486e49f36ba4d051390a73e.tar.lz cuberite-0526ed327c9679919486e49f36ba4d051390a73e.tar.xz cuberite-0526ed327c9679919486e49f36ba4d051390a73e.tar.zst cuberite-0526ed327c9679919486e49f36ba4d051390a73e.zip |
Diffstat (limited to 'src/BlockEntities/CommandBlockEntity.cpp')
-rw-r--r-- | src/BlockEntities/CommandBlockEntity.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/BlockEntities/CommandBlockEntity.cpp b/src/BlockEntities/CommandBlockEntity.cpp index 7e9015d33..db8eb1436 100644 --- a/src/BlockEntities/CommandBlockEntity.cpp +++ b/src/BlockEntities/CommandBlockEntity.cpp @@ -151,9 +151,13 @@ void cCommandBlockEntity::SendTo(cClientHandle & a_Client) bool cCommandBlockEntity::LoadFromJson(const Json::Value & a_Value) { - m_Command = a_Value.get("Command", "").asString(); + m_PosX = a_Value.get("x", 0).asInt(); + m_PosY = a_Value.get("y", 0).asInt(); + m_PosZ = a_Value.get("z", 0).asInt(); - m_LastOutput = a_Value.get("LastOutput", "").asString(); + m_Command = a_Value.get("Command", "").asString(); + m_LastOutput = a_Value.get("LastOutput", "").asString(); + m_Result = a_Value.get("SuccessCount", 0).asInt(); return true; } @@ -164,9 +168,13 @@ bool cCommandBlockEntity::LoadFromJson(const Json::Value & a_Value) void cCommandBlockEntity::SaveToJson(Json::Value & a_Value) { - a_Value["Command"] = m_Command; + a_Value["x"] = m_PosX; + a_Value["y"] = m_PosY; + a_Value["z"] = m_PosZ; - a_Value["LastOutput"] = m_LastOutput; + a_Value["Command"] = m_Command; + a_Value["LastOutput"] = m_LastOutput; + a_Value["SuccessCount"] = m_Result; } @@ -175,6 +183,14 @@ void cCommandBlockEntity::SaveToJson(Json::Value & a_Value) void cCommandBlockEntity::Execute() { + if (m_World) + { + if (!m_World->AreCommandBlocksEnabled()) + { + return; + } + } + class CommandBlockOutCb : public cCommandOutputCallback { @@ -185,8 +201,6 @@ void cCommandBlockEntity::Execute() virtual void Out(const AString & a_Text) { - ASSERT(m_CmdBlock != NULL); - // Overwrite field m_CmdBlock->SetLastOutput(a_Text); } |