diff options
author | Julian Laubstein <julianlaubstein@yahoo.de> | 2015-08-24 23:05:15 +0200 |
---|---|---|
committer | Julian Laubstein <julianlaubstein@yahoo.de> | 2015-11-16 14:13:44 +0100 |
commit | 48f84cc3e9204d8481aab32a3c51da5f29fd4306 (patch) | |
tree | 40562005a66d6114c6f25d5d1bbd6540226f9312 /src/WorldStorage/WSSAnvil.cpp | |
parent | Fixed some markdown. (diff) | |
download | cuberite-48f84cc3e9204d8481aab32a3c51da5f29fd4306.tar cuberite-48f84cc3e9204d8481aab32a3c51da5f29fd4306.tar.gz cuberite-48f84cc3e9204d8481aab32a3c51da5f29fd4306.tar.bz2 cuberite-48f84cc3e9204d8481aab32a3c51da5f29fd4306.tar.lz cuberite-48f84cc3e9204d8481aab32a3c51da5f29fd4306.tar.xz cuberite-48f84cc3e9204d8481aab32a3c51da5f29fd4306.tar.zst cuberite-48f84cc3e9204d8481aab32a3c51da5f29fd4306.zip |
Diffstat (limited to '')
-rwxr-xr-x | src/WorldStorage/WSSAnvil.cpp | 90 |
1 files changed, 72 insertions, 18 deletions
diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp index 38ca1cdd9..5138717a7 100755 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -2344,8 +2344,14 @@ void cWSSAnvil::LoadHorseFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); @@ -2440,8 +2446,14 @@ void cWSSAnvil::LoadOcelotFromNBT(cEntityList & a_Entities, const cParsedNBT & a int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); @@ -2467,8 +2479,14 @@ void cWSSAnvil::LoadPigFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NB int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); @@ -2505,8 +2523,14 @@ void cWSSAnvil::LoadRabbitFromNBT(cEntityList & a_Entities, const cParsedNBT & a int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); @@ -2545,8 +2569,14 @@ void cWSSAnvil::LoadSheepFromNBT(cEntityList & a_Entities, const cParsedNBT & a_ int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); @@ -2717,8 +2747,14 @@ void cWSSAnvil::LoadVillagerFromNBT(cEntityList & a_Entities, const cParsedNBT & int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } @@ -2825,8 +2861,14 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); @@ -2860,8 +2902,14 @@ void cWSSAnvil::LoadZombieFromNBT(cEntityList & a_Entities, const cParsedNBT & a int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); @@ -2887,8 +2935,14 @@ void cWSSAnvil::LoadPigZombieFromNBT(cEntityList & a_Entities, const cParsedNBT int AgeableIdx = a_NBT.FindChildByName(a_TagIdx, "Age"); if (AgeableIdx > 0) { - Byte Age = a_NBT.GetByte(AgeableIdx); - Monster->SetAge(static_cast<char>(Age)); + int Age; + switch (a_NBT.GetType(AgeableIdx)) + { + case TAG_Byte: Age = static_cast<int>(a_NBT.GetByte(AgeableIdx)); break; + case TAG_Int: Age = a_NBT.GetInt (AgeableIdx); break; + default: Age = 0; break; + } + Monster->SetAge(Age); } a_Entities.push_back(Monster.release()); |