# NBT Lib ![version: v1.0-RC](https://img.shields.io/badge/version-v1.0--RC-a0a.svg?style=flat) Библиотека для работы с NBT (Named Binary Tag) в отрыве от Minecraft. ## Подключение к проекту ### Maven Добавляем сторонний репозитарий ```xml mc-project-repository https://dmx-mc-project.gitlab.io/maven-repository/ ``` Добавляем dependency к себе в проект ```xml mc-project nbt-lib 1.0-RC ``` ### Gradle Добавляем сторонний репозитарий ```groovy repositories { maven { url 'https://dmx-mc-project.gitlab.io/maven-repository/' } } ``` Добавляем dependency к себе в проект ```groovy implementation (group: 'mc-project', name: 'nbt-lib', version: '1.0-RC') ``` ## Использование ### Чтение Для чтения NBT из потока (`InputStream`) используется класс `NbtInputStream`: ```java NbtInputStream nbtInputStream = new NbtInputStream(inputStream); Tag tag = nbtInputStream.readTag(); ``` Если поток данных предполагается сжатым (GZip), то вторым параметром в конструкторе `NbtInputStream` указываем на это: ```java NbtInputStream nbtInputStream = new NbtInputStream(inputStream, true); Tag tag = nbtInputStream.readTag(); ``` ### Запись Для записи NBT в поток (`OutputStream`) используется класс `NbtOutputStream`: ```java NbtOutputStream nbtOutputStream = new NbtOutputStream(outputStream); nbtOutputStream.writeTag(new TagString("Hello world")); ``` Если необходимо сжатие данных (GZip), то вторым параметром в конструкторе `NbtOutputStream` указываем на это: ```java NbtOutputStream nbtOutputStream = new NbtOutputStream(outputStream, true); nbtOutputStream.writeTag(new TagString("Hello world")); ```