From 39c431495ccb5d6ae840ee2c1db149c040e3ab58 Mon Sep 17 00:00:00 2001 From: Voomra Date: Wed, 7 Feb 2024 03:45:28 +0300 Subject: [PATCH] add: README.MD --- README.MD | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 README.MD diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..049eeb8 --- /dev/null +++ b/README.MD @@ -0,0 +1,42 @@ +# NBT Lib + +![version: 2.0-SNAPSHOT](https://img.shields.io/badge/version-2.0--SNAPSHOT-a0a.svg?style=flat) + +Библиотека для работы с NBT (Named Binary Tag). + +## Примеры работы + +**Создание тега типа String:** + +```java +StringTag tag = new StringTag("Hello World!"); +``` + +**Создание тега типа Compound:** + +```java +CompoundTag tag = new CompoundTag() + .append("Seed", new LongTag(1234567890)); +``` + +## Сериализация + +Пример сериализации тега типа String в файл + +```java +try (NbtOutputStream nbtOutputStream = new NbtOutputStream(new FileOutputStream("somefile.bin"))) { + nbtOutputStream.writeTag(new StringTag("hello!")); +} +``` + +По такому же принципу происходит и десериализация + +```java +try (NbtInputStream nbtInputStream = new NbtInputStream(new FileInputStream("somefile.bin"))) { + TagValue tag = nbtInputStream.readTag(); + if (tag.isString()) { + StringTag stringTag = tag.asString(); + // ... + } +} +```