1
0
Fork 0

Don't create two entity lists.

This commit is contained in:
Howaner 2014-09-24 15:17:20 +02:00
parent 65077c314a
commit 1d588b5195
2 changed files with 14 additions and 7 deletions

View File

@ -81,6 +81,18 @@ void cNBTChunkSerializer::Finish(void)
memset(m_BlockLight, 0, sizeof(m_BlockLight));
memset(m_BlockSkyLight, 0, sizeof(m_BlockSkyLight));
}
// Check if "Entity" and "TileEntities" lists exists. MCEdit requires this.
if (!m_HasHadEntity)
{
a_Writer.BeginList("Entities", TAG_Compound);
a_Writer.EndList();
}
if (!m_HasHadBlockEntity)
{
a_Writer.BeginList("TileEntities", TAG_Compound);
a_Writer.EndList();
}
}

View File

@ -51,6 +51,7 @@
#include "../Entities/ItemFrame.h"
#include "../Protocol/MojangAPI.h"
#include "Server.h"
@ -99,7 +100,7 @@ cWSSAnvil::cWSSAnvil(cWorld * a_World, int a_CompressionFactor) :
Writer.BeginCompound("Data");
Writer.AddByte("allowCommands", 1);
Writer.AddByte("Difficulty", 2);
Writer.AddByte("hardcore", 0);
Writer.AddByte("hardcore", cRoot::Get()->GetServer()->IsHardcore() ? 1 : 0);
Writer.AddByte("initialized", 1);
Writer.AddByte("MapFeatures", 1);
Writer.AddByte("raining", a_World->IsWeatherRain() ? 1 : 0);
@ -457,12 +458,6 @@ bool cWSSAnvil::SaveChunkToNBT(const cChunkCoords & a_Chunk, cFastNBTWriter & a_
a_Writer.AddInt("xPos", a_Chunk.m_ChunkX);
a_Writer.AddInt("zPos", a_Chunk.m_ChunkZ);
// Add "Entities" and "TileEntities". MCEdit can't load the chunk if one of these lists doesn't exists.
a_Writer.BeginList("Entities", TAG_Compound);
a_Writer.EndList();
a_Writer.BeginList("TileEntities", TAG_Compound);
a_Writer.EndList();
cNBTChunkSerializer Serializer(a_Writer);
if (!m_World->GetChunkData(a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, Serializer))
{