@xnlc/nbt заменяет prismarine-nbt и предоставляет чистый TypeScript API для чтения и записи NBT-файлов Minecraft. Автоматически выводит тип тега по значению JavaScript при записи.
Версия: 1.0.1 | Лицензия: GPL-3.0 | Реестр: git.xneon.org
Установка
Возможности
- Чтение NBT из Buffer с поддержкой сжатия (gzip, deflate)
- Запись NBT в Buffer с автовыводом типов тегов
- Поддержка всех типов NBT: Byte, Short, Int, Long, Float, Double, ByteArray, String, List, Compound, IntArray, LongArray
- Потоковое увеличение буфера при записи
- Простое API без внешних зависимостей
Чтение NBT
Параметры чтения
Корневой тег всегда должен быть
TAG_Compound. Если это не так, выбрасывается ошибка.
Запись NBT
Автовывод типов при записи
NBTWriter автоматически определяет тип NBT-тега по значению JavaScript:
Параметры записи
Примеры использования
Чтение servers.dat
Файлservers.dat в папке .minecraft хранит список серверов. Он записан в формате NBT без сжатия:
Чтение level.dat
Файлlevel.dat хранит параметры мира и сжат с помощью gzip:
Запись player.dat
Типы тегов
В отличие от
prismarine-nbt, @xnlc/nbt не использует дерево с именами и значениями. NBTCompound это обычный объект с ключами, а тип тега восстанавливается при записи по значению.