Files
nbt-lib/README.MD
2019-10-05 22:23:15 +03:00

83 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
<repositories>
<repository>
<id>mc-project-repository</id>
<url>https://dmx-mc-project.gitlab.io/maven-repository/</url>
</repository>
</repositories>
```
Добавляем dependency к себе в проект
```xml
<dependencies>
<dependency>
<groupId>mc-project</groupId>
<artifactId>nbt-lib</artifactId>
<version>1.0-RC</version>
</dependency>
</dependencies>
```
### 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"));
```