diff options
author | madmaxoft <github@xoft.cz> | 2014-07-31 23:17:49 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-07-31 23:17:49 +0200 |
commit | 6d02fce9a26d4272baea08dc58238321cca0183a (patch) | |
tree | 0109076ae52c67513259d7946a44b9f7b5a563fb /src/WorldStorage | |
parent | Removed trailing whitespace. (diff) | |
parent | Merge pull request #1267 from mc-server/RoofedForest (diff) | |
download | cuberite-6d02fce9a26d4272baea08dc58238321cca0183a.tar cuberite-6d02fce9a26d4272baea08dc58238321cca0183a.tar.gz cuberite-6d02fce9a26d4272baea08dc58238321cca0183a.tar.bz2 cuberite-6d02fce9a26d4272baea08dc58238321cca0183a.tar.lz cuberite-6d02fce9a26d4272baea08dc58238321cca0183a.tar.xz cuberite-6d02fce9a26d4272baea08dc58238321cca0183a.tar.zst cuberite-6d02fce9a26d4272baea08dc58238321cca0183a.zip |
Diffstat (limited to '')
-rw-r--r-- | src/WorldStorage/WSSAnvil.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp index 023813769..71ff3ef99 100644 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -2475,10 +2475,7 @@ bool cWSSAnvil::LoadEntityBaseFromNBT(cEntity & a_Entity, const cParsedNBT & a_N // Load health: int Health = a_NBT.FindChildByName(a_TagIdx, "Health"); - if (Health > 0) - { - a_Entity.SetHealth(a_NBT.GetShort(Health)); - } + a_Entity.SetHealth(Health > 0 ? a_NBT.GetShort(Health) : a_Entity.GetMaxHealth()); return true; } @@ -2499,8 +2496,14 @@ bool cWSSAnvil::LoadMonsterBaseFromNBT(cMonster & a_Monster, const cParsedNBT & a_Monster.SetDropChanceChestplate(DropChance[2]); a_Monster.SetDropChanceLeggings(DropChance[3]); a_Monster.SetDropChanceBoots(DropChance[4]); - bool CanPickUpLoot = (a_NBT.GetByte(a_NBT.FindChildByName(a_TagIdx, "CanPickUpLoot")) == 1); - a_Monster.SetCanPickUpLoot(CanPickUpLoot); + + int LootTag = a_NBT.FindChildByName(a_TagIdx, "CanPickUpLoot"); + if (LootTag > 0) + { + bool CanPickUpLoot = (a_NBT.GetByte(LootTag) == 1); + a_Monster.SetCanPickUpLoot(CanPickUpLoot); + } + return true; } |