A library for dealing with Minecraft NBT and SNBT.
Go to file
2024-10-16 11:39:16 +02:00
.github/workflows [ci skip] Oh neptune. (#2) 2024-03-09 14:41:35 +01:00
src/main/java/com/viaversion/nbt Count first, then read 2024-10-16 11:39:16 +02:00
.gitignore General cleanup, fixes, and re-versioning. 2015-07-20 11:13:51 -07:00
LICENSE.txt Make Tag an interface, move packages 2024-05-11 14:39:01 +02:00
pom.xml Count first, then read 2024-10-16 11:39:16 +02:00
README.md Make Tag an interface, move packages 2024-05-11 14:39:01 +02:00

ViaNBT

ViaNBT is a library for dealing with NBT and SNBT.

This project is derived from an earlier version of 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 used for SNBT serialization.

Dependency

Maven:

<repository>
    <id>viaversion-repo</id>
    <url>https://repo.viaversion.com</url>
</repository>
<dependency>
    <groupId>com.viaversion</groupId>
    <artifactId>nbt</artifactId>
    <version>5.0.0</version>
</dependency>

Gradle:

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.