summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/WorldStorage/NBTChunkSerializer.cpp3
-rw-r--r--src/WorldStorage/WSSAnvil.cpp12
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());
}