#include "stdafx.h" #include "StructureFeatureSavedData.h" wstring StructureFeatureSavedData::TAG_FEATURES = L"Features"; StructureFeatureSavedData::StructureFeatureSavedData(const wstring &idName) : SavedData(idName) { this->pieceTags = new CompoundTag(TAG_FEATURES); } StructureFeatureSavedData::~StructureFeatureSavedData() { delete pieceTags; } void StructureFeatureSavedData::load(CompoundTag *tag) { this->pieceTags = tag->getCompound(TAG_FEATURES); } void StructureFeatureSavedData::save(CompoundTag *tag) { tag->put(TAG_FEATURES, pieceTags->copy() ); } void StructureFeatureSavedData::putFeatureTag(byteArray data, int chunkX, int chunkZ) { wstring name = createFeatureTagId(chunkX, chunkZ); if (pieceTags->contains(name)) { delete pieceTags->getCompound(name); pieceTags->remove(name); } CompoundTag* tag = new CompoundTag(name); tag->putByteArray(L"data", data); pieceTags->put(name, tag); } wstring StructureFeatureSavedData::createFeatureTagId(int chunkX, int chunkZ) { return L"[" + std::to_wstring(chunkX) + L"," + std::to_wstring(chunkZ) + L"]"; } CompoundTag *StructureFeatureSavedData::getFullTag() { return pieceTags; }