summaryrefslogtreecommitdiffstats
path: root/src/WorldStorage/NBTChunkSerializer.cpp
diff options
context:
space:
mode:
authorHowaner <franzi.moos@googlemail.com>2014-02-17 20:14:08 +0100
committerHowaner <franzi.moos@googlemail.com>2014-02-17 20:14:08 +0100
commit777041806fb5085e94838fa9bb0b1c3fe0b61696 (patch)
treeb39ccdda97d69406a08358fe1c84349d25c421e4 /src/WorldStorage/NBTChunkSerializer.cpp
parentMerge pull request #688 from worktycho/Flags (diff)
downloadcuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.gz
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.bz2
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.lz
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.xz
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.tar.zst
cuberite-777041806fb5085e94838fa9bb0b1c3fe0b61696.zip
Diffstat (limited to 'src/WorldStorage/NBTChunkSerializer.cpp')
-rw-r--r--src/WorldStorage/NBTChunkSerializer.cpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/WorldStorage/NBTChunkSerializer.cpp b/src/WorldStorage/NBTChunkSerializer.cpp
index 95b5e66d2..6da141728 100644
--- a/src/WorldStorage/NBTChunkSerializer.cpp
+++ b/src/WorldStorage/NBTChunkSerializer.cpp
@@ -19,6 +19,7 @@
#include "../BlockEntities/JukeboxEntity.h"
#include "../BlockEntities/NoteEntity.h"
#include "../BlockEntities/SignEntity.h"
+#include "../BlockEntities/SkullEntity.h"
#include "../Entities/Entity.h"
#include "../Entities/FallingBlock.h"
@@ -248,11 +249,25 @@ void cNBTChunkSerializer::AddCommandBlockEntity(cCommandBlockEntity * a_CmdBlock
void cNBTChunkSerializer::AddSignEntity(cSignEntity * a_Sign)
{
m_Writer.BeginCompound("");
- AddBasicTileEntity(a_Sign, "Sign");
- m_Writer.AddString("Text1", a_Sign->GetLine(0));
- m_Writer.AddString("Text2", a_Sign->GetLine(1));
- m_Writer.AddString("Text3", a_Sign->GetLine(2));
- m_Writer.AddString("Text4", a_Sign->GetLine(3));
+ AddBasicTileEntity(a_Sign, "Sign");
+ m_Writer.AddString("Text1", a_Sign->GetLine(0));
+ m_Writer.AddString("Text2", a_Sign->GetLine(1));
+ m_Writer.AddString("Text3", a_Sign->GetLine(2));
+ m_Writer.AddString("Text4", a_Sign->GetLine(3));
+ m_Writer.EndCompound();
+}
+
+
+
+
+
+void cNBTChunkSerializer::AddSkullEntity(cSkullEntity * a_Skull)
+{
+ m_Writer.BeginCompound("");
+ AddBasicTileEntity(a_Skull, "Skull");
+ m_Writer.AddByte ("SkullType", a_Skull->GetSkullType() & 0xFF);
+ m_Writer.AddByte ("Rot", a_Skull->GetRotation() & 0xFF);
+ m_Writer.AddString("ExtraType", a_Skull->GetOwner());
m_Writer.EndCompound();
}
@@ -666,6 +681,7 @@ void cNBTChunkSerializer::BlockEntity(cBlockEntity * a_Entity)
case E_BLOCK_HOPPER: AddHopperEntity ((cHopperEntity *) a_Entity); break;
case E_BLOCK_SIGN_POST:
case E_BLOCK_WALLSIGN: AddSignEntity ((cSignEntity *) a_Entity); break;
+ case E_BLOCK_HEAD: AddSkullEntity ((cSkullEntity *) a_Entity); break;
case E_BLOCK_NOTE_BLOCK: AddNoteEntity ((cNoteEntity *) a_Entity); break;
case E_BLOCK_JUKEBOX: AddJukeboxEntity ((cJukeboxEntity *) a_Entity); break;
case E_BLOCK_COMMAND_BLOCK: AddCommandBlockEntity((cCommandBlockEntity *) a_Entity); break;