Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/viaversion/vianbt

A library for dealing with Minecraft NBT.
https://github.com/viaversion/vianbt

Last synced: 6 days ago
JSON representation

A library for dealing with Minecraft NBT.

Awesome Lists containing this project

README

        

# ViaNBT

ViaNBT is a library for dealing with [NBT](https://minecraft.wiki/w/NBT_format) and SNBT.

This project is derived from an earlier version of [OpenNBT](https://github.com/GeyserMC/OpenNBT/) and contains various fundamental improvements and changes to it, including:

* Most notably, move the tag name out the of tags themselves
* `SNBT` for string serialization
* Add primitive getter methods to number types
* Don't wrap values given in Tag#setValue / Tag constructors
* NumberTag and NumberArrayTag interfaces for easier number handling
* Don't use reflection when creating tag instances
* Directly use value in copy(), also replacing clone()
* Implement tag specific equals() methods
* Update to Java 8
* A bunch of other small improvements and fixes

This project also includes code from [adventure](https://github.com/KyoriPowered/adventure) used for SNBT serialization.

## Dependency

**Maven:**

```xml

viaversion-repo
https://repo.viaversion.com

```

```xml

com.viaversion
nbt
5.0.0

```

**Gradle:**

```kotlin
repositories {
maven("https://repo.viaversion.com")
}

dependencies {
implementation("com.viaversion:nbt:5.0.0")
}
```

## Building

Run `mvn install` in the source's directory via Maven.

## License

ViaNBT is licensed under the **[MIT license](http://www.opensource.org/licenses/mit-license.html)**.