diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-07-20 23:09:33 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-07-20 23:49:50 +0200 |
commit | 4b9bb2ab4894c52f60baba3273c27948ad022292 (patch) | |
tree | 1bbe847b339fb3f332fd79e4f0b045d64717f2e1 /src/NBT/CompoundTag.hpp | |
parent | 64f81ff50c3e221351c0b50a65c2d0b5289b4edf (diff) | |
download | MinedMap-4b9bb2ab4894c52f60baba3273c27948ad022292.tar MinedMap-4b9bb2ab4894c52f60baba3273c27948ad022292.zip |
Add Tag print functions and nbtdump tool
Diffstat (limited to 'src/NBT/CompoundTag.hpp')
-rw-r--r-- | src/NBT/CompoundTag.hpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/NBT/CompoundTag.hpp b/src/NBT/CompoundTag.hpp index 39fa25d..6be0479 100644 --- a/src/NBT/CompoundTag.hpp +++ b/src/NBT/CompoundTag.hpp @@ -54,6 +54,20 @@ public: return Type::Compound; } + virtual void print(std::ostream& os, const std::string &indent) const { + os << "{" << std::endl; + + std::string inner = indent + " "; + + for (const auto &item : *this) { + os << inner << item.first << ": " << item.second->getType() << " "; + item.second->print(os, inner); + os << std::endl; + } + + os << indent << "}"; + } + template<typename T> std::shared_ptr<const T> get(const std::string &key) const { auto it = find(key); if (it == end()) |