Added saving of collar's color.

This commit is contained in:
Kirill Kirilenko 2014-02-01 20:16:42 +04:00
parent 33759197e9
commit 0259aed8be
2 changed files with 11 additions and 4 deletions

View File

@ -455,7 +455,8 @@ void cNBTChunkSerializer::AddMonsterEntity(cMonster * a_Monster)
case cMonster::mtWolf: case cMonster::mtWolf:
{ {
m_Writer.AddString("Owner", ((const cWolf *)a_Monster)->GetOwner()); 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; break;
} }
case cMonster::mtZombie: case cMonster::mtZombie:

View File

@ -1886,12 +1886,18 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N
Monster->SetIsTame(true); Monster->SetIsTame(true);
} }
} }
int SittingIdx = a_NBT.FindChildByName(a_TagIdx, "Sitting"); int IsSittingIdx = a_NBT.FindChildByName(a_TagIdx, "IsSitting");
if (SittingIdx > 0) if (IsSittingIdx > 0)
{ {
bool IsSitting = (a_NBT.GetByte(SittingIdx) > 0); bool IsSitting = ((a_NBT.GetByte(IsSittingIdx) == 1) ? true : false);
Monster->SetIsSitting(IsSitting); 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()); a_Entities.push_back(Monster.release());
} }