84 lines
2.3 KiB
Markdown
84 lines
2.3 KiB
Markdown
# NBT Lib
|
||
|
||

|
||

|
||
|
||
Библиотека для работы с 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"));
|
||
``` |