Releases: TheNullicorn/Nedit
Releases · TheNullicorn/Nedit
Update v2.2.0
- Added the ability to set the root compound's name, both via
NBTWriterandNBTOutputStream- Thanks @GreenJon902! (#14)
Update v2.1.1
- Fixed
NBTList.set()throwing UnsupportedOperationException (#10, thanks @PureGero) - Throw
NullPointerExceptioninstead ofIllegalArgumentExceptionwhen 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
NBTListandNBTCompound- Improved documentation
- Change superclasses from
ArrayListtoAbstractList, andHashMaptoAbstractMaprespectively
- 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 (
INCLUDEorEXCLUDE) 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
NoClassDefFoundErrorcaused by JAXB import - Use empty quotes (
"") inNBTCompound.toString()when tag name is empty