diff --git a/src/nbt/NBT.cpp b/src/nbt/NBT.cpp index 8aa86a4..3ab830d 100644 --- a/src/nbt/NBT.cpp +++ b/src/nbt/NBT.cpp @@ -164,6 +164,11 @@ namespace NBT { } + CompoundTag::CompoundTag(const void* data, size_t length) + : CompoundTag(nbt_parse_compressed(data, length)) + { + } + CompoundTag::~CompoundTag() { nbt_free(m_node); diff --git a/src/nbt/NBT.h b/src/nbt/NBT.h index f937407..181a063 100644 --- a/src/nbt/NBT.h +++ b/src/nbt/NBT.h @@ -136,7 +136,11 @@ namespace NBT public: CompoundTag(nbt_node* node) : Tag(node) {} - CompoundTag(const char *filename); + CompoundTag(const char* filename); + + // Read a compound tag from compressed data + CompoundTag(const void* data, size_t length); + ~CompoundTag(); template