Skip to content

Releases: Querz/NBT

Bugfixes

06 Apr 12:45
Compare
Choose a tag to compare

This release fixes some bugs and changes some stuff to make it more convenient.

Details:

  • Updating the DataVersion in a Chunk did not update internally in a Section.
  • Setting a BlockState in a Section that would cause a change in the bits used to save a BlockState did now increase the length of the BlockStates array correctly for DataVersion > 2526.
  • Added a helper method to CompoundTag that returns an abstract Number.
  • Added a lenient mode for the SNBTParser that ignores any characters after it is done parsing.
  • Made the SNBTParser's cunstructor public and removed the static parse methods, in favor for easier access to simply parse an SNBT string.

Add support for little endian

11 Jan 11:46
ae1f2ba
Compare
Choose a tag to compare

This release adds support for little endian serialization / deserialization for Minecraft Bedrock Edition.

Details:

  • Added support for little endian serialization / deserialization.
  • NBTUtil now has helper functions to load / save NBT data with little endianness.
  • Added load flag to only load raw data and skip dat avalidation in chunks.
  • Fixed a bug where biome indexes were calculated incorrectly.
  • Fixed a bug where the type of an empty ListTag was set incorrectly when casting.

Selective loading of data from MCA files

17 Jun 12:53
Compare
Choose a tag to compare

This release introduces selective loading from MCA files.

Details:

  • LoadFlags can now be provided before loading an MCA file to only keep wanted data in memory. an MCAFile loaded using any LoadFlag other than ALL_DATA will only keep the specified data in memory and can therefore not be serialized anymore. See #49 .
  • Performance improvements when reading NBT arrays, see #47 .
  • Fixed typo when serializing Heightmaps.
  • Updated gradle wrapper to 6.5.

Fix flushing NBTSerializer

25 May 08:49
Compare
Choose a tag to compare

Bug fix

Details:

  • NBTSerializer did not flush GZIPOutputStream after writing tag data.

Even more bug fixes

09 May 15:28
Compare
Choose a tag to compare

As you guessed it, more bug fixes.

Details:

  • Updated the Readme on how to integrate NBT using Gradle or Maven
  • Fixed some old bugs from #36
  • Made MCAUtil.newMCAFile(File) public
  • When updating a Selection object, it is now checked whether some fields are null to avoid NPEs

More Bug fixes

27 Apr 10:49
Compare
Choose a tag to compare

Fixed a bug where the biome index was calculated incorrectly.

Details:

  • Fixed a bug where the biome index was calculated incorrectly, which led to getBiomeAt and setBiomeAt methods return and set the wrong biomes.
  • Added unit tests for the above fix.

Bug fixes

27 Apr 09:12
Compare
Choose a tag to compare

This release reintroduces some fixes from 4.1 that somehow got lost in 5.0.

Details:

  • Fixed a bug where an exception was thrown when reading empty sections.
  • Fixed a bug where setting biomes using setBiomes(int[]) would throw an exception with arrays having a length of 1024.
  • Fixed a bug where adjusting the size of the block states array would still use the old format in 20w17a.
  • Added missing JavaDoc back to Chunk, MCAFile and Section classes.

Serialization and deserialization overhaul

25 Apr 17:34
9115676
Compare
Choose a tag to compare

This release overhauls serialization and deserialization.

Details:

  • Removed example custom tags and dropped support in serializers and deserializers.
  • Packages are better organized now.
  • Added an SNBT writer and parser.
  • Added an IO package net.querz.io that is used for NBT and SNBT serlialization and deserialization.
  • Updated Version to 5.0.
  • Removed TagFactory, this is handled by the new serializers and deserializers now
  • MCAFile: Fixed biome methods not working with new vertical biomes.
  • MCAFile: Fixed BlockStates being saved differently in 20w17a.
  • Fixed Unit-Tests accordingly.

Fix crash on empty Sections

07 Aug 07:34
Compare
Choose a tag to compare

This release handles an Exception thrown when trying to read from an empty Section in a Chunk.

Details:

  • Fix Exception thrown when trying to read from an empty Section in Minecraft 1.14+, see #31
  • Add automatic module name, see #32

Improve consistency and type safety

08 Feb 12:28
8cedf1e
Compare
Choose a tag to compare

This release fixes some issues regarding consistency and type safety.

Details:

  • All Tags now implement Comparable on their own to assure type safety
  • ListTag and CompoundTag now always clear their values before deserialising data into them
  • Tag#toString() and Tag#toTagString() are now final to force child classes to use the maxDepth parameter
  • Passing null to #compareTo now throws a NullPointerException
  • Calculation of the maximum depth is inverted to allow a custom maximum depth
  • Updated the javadoc for proper use of the maximum depth
  • Negative ListTag and StructTag sizes are corrected to 0
  • Removed Tag#getEmptyValue()
  • Added unit tests for all changes