| 95 | }; |
| 96 | |
| 97 | static std::unique_ptr <nbt::tag_compound> parseServersDat(const QString& filename) |
| 98 | { |
| 99 | try |
| 100 | { |
| 101 | QByteArray input = FS::read(filename); |
| 102 | std::istringstream foo(std::string(input.constData(), input.size())); |
| 103 | auto pair = nbt::io::read_compound(foo); |
| 104 | |
| 105 | if(pair.first != "") |
| 106 | return nullptr; |
| 107 | |
| 108 | if(pair.second == nullptr) |
| 109 | return nullptr; |
| 110 | |
| 111 | return std::move(pair.second); |
| 112 | } |
| 113 | catch (...) |
| 114 | { |
| 115 | return nullptr; |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | static bool serializeServerDat(const QString& filename, nbt::tag_compound * levelInfo) |
| 120 | { |