diff options
author | Tycho <work.tycho+git@gmail.com> | 2014-05-25 19:02:33 +0200 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2014-05-25 19:02:33 +0200 |
commit | 8133efd7f9def01b81ef2a52c05d8ec5b7f89632 (patch) | |
tree | a56f6889aea8de8759fab87abdee2eef778873ed /src/WorldStorage/NBTChunkSerializer.cpp | |
parent | Fixed bug in freeing NULL pointers (diff) | |
parent | inject TestGlobals.h correctly (diff) | |
download | cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.gz cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.bz2 cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.lz cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.xz cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.zst cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.zip |
Diffstat (limited to 'src/WorldStorage/NBTChunkSerializer.cpp')
-rw-r--r-- | src/WorldStorage/NBTChunkSerializer.cpp | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/src/WorldStorage/NBTChunkSerializer.cpp b/src/WorldStorage/NBTChunkSerializer.cpp index c087ca8ef..a3b0d57be 100644 --- a/src/WorldStorage/NBTChunkSerializer.cpp +++ b/src/WorldStorage/NBTChunkSerializer.cpp @@ -391,38 +391,41 @@ void cNBTChunkSerializer::AddFallingBlockEntity(cFallingBlock * a_FallingBlock) void cNBTChunkSerializer::AddMinecartEntity(cMinecart * a_Minecart) { - const char * EntityClass = NULL; - switch (a_Minecart->GetPayload()) - { - case cMinecart::mpNone: EntityClass = "MinecartRideable"; break; - case cMinecart::mpChest: EntityClass = "MinecartChest"; break; - case cMinecart::mpFurnace: EntityClass = "MinecartFurnace"; break; - case cMinecart::mpTNT: EntityClass = "MinecartTNT"; break; - case cMinecart::mpHopper: EntityClass = "MinecartHopper"; break; - default: - { - ASSERT(!"Unhandled minecart payload type"); - return; - } - } // switch (payload) - m_Writer.BeginCompound(""); - AddBasicEntity(a_Minecart, EntityClass); + switch (a_Minecart->GetPayload()) { case cMinecart::mpChest: { + AddBasicEntity(a_Minecart, "MinecartChest"); // Add chest contents into the Items tag: AddMinecartChestContents((cMinecartWithChest *)a_Minecart); break; } - case cMinecart::mpFurnace: { + AddBasicEntity(a_Minecart, "MinecartFurnace"); // TODO: Add "Push" and "Fuel" tags break; } + case cMinecart::mpHopper: + { + AddBasicEntity(a_Minecart, "MinecartHopper"); + // TODO: Add hopper contents? + break; + } + case cMinecart::mpTNT: + { + AddBasicEntity(a_Minecart, "MinecartTNT"); + break; + } + case cMinecart::mpNone: + { + AddBasicEntity(a_Minecart, "MinecartRideable"); + break; + } } // switch (Payload) + m_Writer.EndCompound(); } @@ -650,6 +653,13 @@ void cNBTChunkSerializer::AddHangingEntity(cHangingEntity * a_Hanging) case BLOCK_FACE_YP: m_Writer.AddByte("Dir", (unsigned char)1); break; case BLOCK_FACE_ZM: m_Writer.AddByte("Dir", (unsigned char)0); break; case BLOCK_FACE_ZP: m_Writer.AddByte("Dir", (unsigned char)3); break; + + case BLOCK_FACE_XM: + case BLOCK_FACE_XP: + case BLOCK_FACE_NONE: + { + break; + } } } |