A library for dealing with Minecraft NBT and SNBT.
Go to file
Nassim Jahnke 63c109efde 3.0.0 Release
- More general refactoring
- Add SNBT serializer
- Rebrand to ViaNBT, as the project has shifted greatly from the original

Package rename will follow at a (much) later date when ViaVersion is ready for another major version bump
2023-10-08 18:35:19 +10:00
.github/workflows Add CI action. 2019-08-27 23:53:25 -07:00
src/main/java/com/github/steveice10/opennbt 3.0.0 Release 2023-10-08 18:35:19 +10:00
.gitignore General cleanup, fixes, and re-versioning. 2015-07-20 11:13:51 -07:00
LICENSE.txt 2.1.1, remove Guava dependency 2023-03-03 13:51:13 +01:00
pom.xml 3.0.0 Release 2023-10-08 18:35:19 +10:00
README.md 3.0.0 Release 2023-10-08 18:35:19 +10: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
  • Abstract NumberTag class for easier number handling
  • Always read/write CompoundTags in NBTIO
  • Don't use reflection when creating tag instances
  • Directly use value in clone()
  • Implement tag specific equals() methods
  • Update to Java 8

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>3.0.0</version>
</dependency>

Gradle:

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

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

Building

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

License

ViaNBT is licensed under the MIT license.