Skip to main content
@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 это обычный объект с ключами, а тип тега восстанавливается при записи по значению.