Releases: TheNullicorn/Nedit
Releases · TheNullicorn/Nedit
Update v2.2.0
- Added the ability to set the root compound's name, both via
NBTWriter
andNBTOutputStream
- Thanks @GreenJon902! (#14)
Update v2.1.1
- Fixed
NBTList.set()
throwing UnsupportedOperationException (#10, thanks @PureGero) - Throw
NullPointerException
instead ofIllegalArgumentException
when argument is null. Applies to:- NBTCompound:
get()
(and all other getters for that class)put()
putIfAbsent()
containsKey()
containsValue()
containsTag()
- NBTCompound:
Update v2.1.0
- Partial test coverage
- Fix incorrect
int[]
decoding (#9) - Clean-up
NBTList
andNBTCompound
- Improved documentation
- Change superclasses from
ArrayList
toAbstractList
, andHashMap
toAbstractMap
respectively
- Clean-up
TagType
- Improved documentation
- Deprecate
in favor ofgetClazz()
getRuntimeType()
. Functionally, they are exactly the same.
Release v2.0.0
- 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
orEXCLUDE
) 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.
⠀
- Filters are essentially just lists of tag names. The filter's mode (
- 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 (
\\.
).
⠀
- 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
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
Two quick changes-
- Wrap
NBTOutputStream
(and subsequentlyNBTWriter
) output in an unnamed compound- This change is to match the new behavior of
NBTInputStream
- This change is to match the new behavior of
- Add
containsTag(String, TagType)
toNBTCompound
- Provides the same functionality as
contains(String)
while also checking that the matching tag is the desired type
- Provides the same functionality as
Update v1.1.0
- 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
)
- This means most initial paths no longer need to be prefixed with a dot (e.g.
- Added
hashCode()
andequals()
support for NBTCompound - Fix extra TAG_End added to data by the NBTOutputStream
Update v1.0.0
- Use only primitive arrays for byte[], int[], and long[]
- Slightly optimize
NBTInputStream#readByteArray()
Update v0.1.0
- 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
- Fix
NoClassDefFoundError
caused by JAXB import - Use empty quotes (
""
) inNBTCompound.toString()
when tag name is empty