A library for dealing with Minecraft NBT and SNBT.
Go to file
Kichura b59ff0dea2
[ci skip] Oh neptune. (#2)
Updates checkout and setup-java from v1 -> v4, Then adds the distribution and check-latest flags to clarify what JDK engine we want and finally freeze the ubuntu version to specific version.
2024-03-09 14:41:35 +01:00
.github/workflows [ci skip] Oh neptune. (#2) 2024-03-09 14:41:35 +01:00
src/main/java/com/github/steveice10/opennbt Add getUnchecked method to CompoundTag 2024-03-09 12:47:22 +01: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 Add getUnchecked method to CompoundTag 2024-03-09 12:47:22 +01:00
README.md 4.0.0: Refactor NBTIO, replace clone with copy 2023-12-31 13:30:15 +01: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
  • 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

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

Gradle:

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

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

Building

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

License

ViaNBT is licensed under the MIT license.