diff options
author | Kirill Kirilenko <root@ultracoder.ru> | 2014-02-01 17:16:42 +0100 |
---|---|---|
committer | Kirill Kirilenko <root@ultracoder.ru> | 2014-02-01 17:16:42 +0100 |
commit | 0259aed8beba5a2a46d537617e122a5dacc373a3 (patch) | |
tree | eef02b731a39ffab94c05593664cb62eb0d14209 | |
parent | Merge pull request #585 from daniel0916/hooks (diff) | |
download | cuberite-0259aed8beba5a2a46d537617e122a5dacc373a3.tar cuberite-0259aed8beba5a2a46d537617e122a5dacc373a3.tar.gz cuberite-0259aed8beba5a2a46d537617e122a5dacc373a3.tar.bz2 cuberite-0259aed8beba5a2a46d537617e122a5dacc373a3.tar.lz cuberite-0259aed8beba5a2a46d537617e122a5dacc373a3.tar.xz cuberite-0259aed8beba5a2a46d537617e122a5dacc373a3.tar.zst cuberite-0259aed8beba5a2a46d537617e122a5dacc373a3.zip |
-rw-r--r-- | src/WorldStorage/NBTChunkSerializer.cpp | 3 | ||||
-rw-r--r-- | src/WorldStorage/WSSAnvil.cpp | 12 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/WorldStorage/NBTChunkSerializer.cpp b/src/WorldStorage/NBTChunkSerializer.cpp index 9c454c028..7bba82ca8 100644 --- a/src/WorldStorage/NBTChunkSerializer.cpp +++ b/src/WorldStorage/NBTChunkSerializer.cpp @@ -455,7 +455,8 @@ 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("IsSitting", (((const cWolf *)a_Monster)->IsSitting() ? 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..a9c6a3475 100644 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -1886,12 +1886,18 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N Monster->SetIsTame(true); } } - int SittingIdx = a_NBT.FindChildByName(a_TagIdx, "Sitting"); - if (SittingIdx > 0) + int IsSittingIdx = a_NBT.FindChildByName(a_TagIdx, "IsSitting"); + if (IsSittingIdx > 0) { - bool IsSitting = (a_NBT.GetByte(SittingIdx) > 0); + bool IsSitting = ((a_NBT.GetByte(IsSittingIdx) == 1) ? true : false); Monster->SetIsSitting(IsSitting); } + 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()); } |