Skip to content

Releases: TheNullicorn/Nedit

Update v2.2.0

21 Sep 02:50
c09d791
Compare
Choose a tag to compare
  • Added the ability to set the root compound's name, both via NBTWriter and NBTOutputStream

Update v2.1.1

30 Jan 20:30
e018592
Compare
Choose a tag to compare
  • Fixed NBTList.set() throwing UnsupportedOperationException (#10, thanks @PureGero)
  • Throw NullPointerException instead of IllegalArgumentException when argument is null. Applies to:
    • NBTCompound:
      • get() (and all other getters for that class)
      • put()
      • putIfAbsent()
      • containsKey()
      • containsValue()
      • containsTag()

Update v2.1.0

29 Jun 19:13
Compare
Choose a tag to compare
  • Partial test coverage
  • Fix incorrect int[] decoding (#9)
  • Clean-up NBTList and NBTCompound
    • Improved documentation
    • Change superclasses from ArrayList to AbstractList, and HashMap to AbstractMap respectively
  • Clean-up TagType
    • Improved documentation
    • Deprecate getClazz() in favor of getRuntimeType(). Functionally, they are exactly the same.

Release v2.0.0

14 Jun 14:31
Compare
Choose a tag to compare
  • Introduced the filtering API, giving users more fine-grained control over streamed NBT data. Based on MongoDB projections.
    • Filters are essentially just lists of tag names. The filter's mode (INCLUDE or EXCLUDE) determines how tags with those names are treated in filtered objects.
      • Inclusion filters, when applied to streamed compounds, ensure that those compounds only include tags whose names are explicitly added to the filter.
      • Exclusion filters allow filtered compounds to retain all tags except those whose names are added to the filter.
    • Just like NBTCompound.get(...), tag names can be referenced via dot-notation.
  • Anywhere where tags are reference via dot-notation now allows tag names that literally have dots (.) in them to be escaped using backslashes.
    • For string literals, this means adding a double-backslash before any dots that are part of the tag's actual name (\\.).
  • Removed dependencies on Lombok and JetBrains annotations.
  • Fixed two bugs
    • Root compounds written via NBTOutputStream and NBTWriter didn't have END tags.
    • NBTReader and NBTWriter would automatically close streams that they didn't own.

Update v1.2.0

08 Jun 03:09
9ea8855
Compare
Choose a tag to compare

Minor optimization:

  • Added support for interning tag names & values.
    • Methods that now support interning have done so via overloading, and the original methods will have interning disabled by default.
    • When deserializing lots of NBT data that follows the same structure, or uses similar string values, this can help save a significant amount of memory.
    • If deserialization is infrequent and with small data, there should be little-to-no difference in performance or memory consumption.

Update v1.1.1

24 May 23:59
a99ecea
Compare
Choose a tag to compare

Two quick changes-

  • Wrap NBTOutputStream (and subsequently NBTWriter) output in an unnamed compound
    • This change is to match the new behavior of NBTInputStream
  • Add containsTag(String, TagType) to NBTCompound
    • Provides the same functionality as contains(String) while also checking that the matching tag is the desired type

Update v1.1.0

23 May 00:56
a0a1162
Compare
Choose a tag to compare
  • Added support for reading SNBT (aka "Mojangson") strings
    • This is the format Minecraft uses for NBT data in commands
  • NBTReader and NBTInputStream now read from the root tag instead of the implicit one
    • This means most initial paths no longer need to be prefixed with a dot (e.g. .Level.xPos --> Level.xPos)
  • Added hashCode() and equals() support for NBTCompound
  • Fix extra TAG_End added to data by the NBTOutputStream

Update v1.0.0

14 Nov 03:51
fbc9b66
Compare
Choose a tag to compare
  • Use only primitive arrays for byte[], int[], and long[]
  • Slightly optimize NBTInputStream#readByteArray()

Update v0.1.0

18 Aug 10:52
3faa714
Compare
Choose a tag to compare
  • Changed NBTReader --> NBTInputStream
    • NBTReader is now a utility class for common uses of NBTInputStream
  • Added NBT serialization
    • Added NBTOutputStream for directly writing NBT data
    • Added NBTWriter with utilities for common uses of NBTOutputStream
      • Options for writing to base64, file, or OutputStream
  • Added fromObject() method to TagType to get the appropriate NBT type for an object

Patch v0.0.2

14 Aug 16:45
0bd4a4e
Compare
Choose a tag to compare
  • Fix NoClassDefFoundError caused by JAXB import
  • Use empty quotes ("") in NBTCompound.toString() when tag name is empty