diff options
author | Masy98 <masy@antheruscraft.de> | 2014-12-20 10:31:34 +0100 |
---|---|---|
committer | Masy98 <masy@antheruscraft.de> | 2014-12-20 10:31:34 +0100 |
commit | 6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71 (patch) | |
tree | 0c7e7083444d2dc9c797c7a962fc05185c03eb1e /src/WorldStorage | |
parent | Merge pull request #1680 from Masy98/entities (diff) | |
download | cuberite-6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71.tar cuberite-6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71.tar.gz cuberite-6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71.tar.bz2 cuberite-6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71.tar.lz cuberite-6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71.tar.xz cuberite-6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71.tar.zst cuberite-6e8e1c6d8da3d5a0f5ca39f6f18d88c2ca6c1e71.zip |
Diffstat (limited to 'src/WorldStorage')
-rw-r--r-- | src/WorldStorage/NBTChunkSerializer.cpp | 2 | ||||
-rwxr-xr-x | src/WorldStorage/WSSAnvil.cpp | 24 | ||||
-rwxr-xr-x | src/WorldStorage/WSSAnvil.h | 1 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/WorldStorage/NBTChunkSerializer.cpp b/src/WorldStorage/NBTChunkSerializer.cpp index 9d8e20b0b..c87397542 100644 --- a/src/WorldStorage/NBTChunkSerializer.cpp +++ b/src/WorldStorage/NBTChunkSerializer.cpp @@ -502,6 +502,7 @@ void cNBTChunkSerializer::AddMonsterEntity(cMonster * a_Monster) case mtMooshroom: EntityClass = "MushroomCow"; break; case mtOcelot: EntityClass = "Ozelot"; break; case mtPig: EntityClass = "Pig"; break; + case mtRabbit: EntityClass = "Rabbit"; break; case mtSheep: EntityClass = "Sheep"; break; case mtSilverfish: EntityClass = "Silverfish"; break; case mtSkeleton: EntityClass = "Skeleton"; break; @@ -633,6 +634,7 @@ void cNBTChunkSerializer::AddMonsterEntity(cMonster * a_Monster) case mtMooshroom: case mtOcelot: case mtPig: + case mtRabbit: case mtSilverfish: case mtSnowGolem: case mtSpider: diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp index a045497bc..cf51ab19c 100755 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -1442,6 +1442,10 @@ void cWSSAnvil::LoadEntityFromNBT(cEntityList & a_Entities, const cParsedNBT & a { LoadPigFromNBT(a_Entities, a_NBT, a_EntityTagIdx); } + else if (strncmp(a_IDTag, "Rabbit", a_IDTagLength) == 0) + { + LoadRabbitFromNBT(a_Entities, a_NBT, a_EntityTagIdx); + } else if (strncmp(a_IDTag, "Sheep", a_IDTagLength) == 0) { LoadSheepFromNBT(a_Entities, a_NBT, a_EntityTagIdx); @@ -2363,6 +2367,26 @@ void cWSSAnvil::LoadPigFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NB +void cWSSAnvil::LoadRabbitFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) +{ + std::unique_ptr<cRabbit> Monster(new cRabbit()); + if (!LoadEntityBaseFromNBT(*Monster.get(), a_NBT, a_TagIdx)) + { + return; + } + + if (!LoadMonsterBaseFromNBT(*Monster.get(), a_NBT, a_TagIdx)) + { + return; + } + + a_Entities.push_back(Monster.release()); +} + + + + + void cWSSAnvil::LoadSheepFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx) { int ColorIdx = a_NBT.FindChildByName(a_TagIdx, "Color"); diff --git a/src/WorldStorage/WSSAnvil.h b/src/WorldStorage/WSSAnvil.h index 7bcdd259e..362796614 100755 --- a/src/WorldStorage/WSSAnvil.h +++ b/src/WorldStorage/WSSAnvil.h @@ -198,6 +198,7 @@ protected: void LoadMooshroomFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); void LoadOcelotFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); void LoadPigFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); + void LoadRabbitFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); void LoadSheepFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); void LoadSilverfishFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); void LoadSkeletonFromNBT (cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx); |