diff options
author | Mattes D <github@xoft.cz> | 2014-02-02 11:35:24 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-02-02 11:35:24 +0100 |
commit | 6f90b492b8907f31be337583a1cf285e4634ffa8 (patch) | |
tree | 579f914722c036497a9f755882ec3163460594ef /src/WorldStorage | |
parent | Merge pull request #585 from daniel0916/hooks (diff) | |
parent | Added saving of angry flag. (diff) | |
download | cuberite-6f90b492b8907f31be337583a1cf285e4634ffa8.tar cuberite-6f90b492b8907f31be337583a1cf285e4634ffa8.tar.gz cuberite-6f90b492b8907f31be337583a1cf285e4634ffa8.tar.bz2 cuberite-6f90b492b8907f31be337583a1cf285e4634ffa8.tar.lz cuberite-6f90b492b8907f31be337583a1cf285e4634ffa8.tar.xz cuberite-6f90b492b8907f31be337583a1cf285e4634ffa8.tar.zst cuberite-6f90b492b8907f31be337583a1cf285e4634ffa8.zip |
Diffstat (limited to 'src/WorldStorage')
-rw-r--r-- | src/WorldStorage/NBTChunkSerializer.cpp | 4 | ||||
-rw-r--r-- | src/WorldStorage/WSSAnvil.cpp | 16 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/WorldStorage/NBTChunkSerializer.cpp b/src/WorldStorage/NBTChunkSerializer.cpp index 9c454c028..c6250f393 100644 --- a/src/WorldStorage/NBTChunkSerializer.cpp +++ b/src/WorldStorage/NBTChunkSerializer.cpp @@ -455,7 +455,9 @@ void cNBTChunkSerializer::AddMonsterEntity(cMonster * a_Monster) case cMonster::mtWolf: { m_Writer.AddString("Owner", ((const cWolf *)a_Monster)->GetOwner()); - m_Writer.AddByte("Sitting", ((const cWolf *)a_Monster)->IsSitting()); + m_Writer.AddByte("Sitting", (((const cWolf *)a_Monster)->IsSitting() ? 1 : 0)); + m_Writer.AddByte("Angry", (((const cWolf *)a_Monster)->IsAngry() ? 1 : 0)); + m_Writer.AddInt("CollarColor", ((const cWolf *)a_Monster)->GetCollarColor()); break; } case cMonster::mtZombie: diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp index 63999add3..d72165c46 100644 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -1889,8 +1889,20 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N int SittingIdx = a_NBT.FindChildByName(a_TagIdx, "Sitting"); if (SittingIdx > 0) { - bool IsSitting = (a_NBT.GetByte(SittingIdx) > 0); - Monster->SetIsSitting(IsSitting); + bool Sitting = ((a_NBT.GetByte(SittingIdx) == 1) ? true : false); + Monster->SetIsSitting(Sitting); + } + int AngryIdx = a_NBT.FindChildByName(a_TagIdx, "Angry"); + if (AngryIdx > 0) + { + bool Angry = ((a_NBT.GetByte(AngryIdx) == 1) ? true : false); + Monster->SetIsAngry(Angry); + } + int CollarColorIdx = a_NBT.FindChildByName(a_TagIdx, "CollarColor"); + if (CollarColorIdx > 0) + { + int CollarColor = a_NBT.GetInt(CollarColorIdx); + Monster->SetCollarColor(CollarColor); } a_Entities.push_back(Monster.release()); } |