Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Click the link above to see the future.
3.1.0 - 2021-10-28
Added
- Automatic Java Jigsaw Module named
br.com.gamemods.nbtmanipulator NbtIO.writeNbtTagDirectly()andNbtIO.readNbtTagDirectly()allowing reading and writing arbitrary tags.
Changed
- Updated to Kotlin
1.5.31 - The source code was split in multiple files and now uses the explicit API feature
3.0.0 - 2021-08-12
Fixed
- Made a micro-optimization to the
NbtCompoundconstructor.
Added
- Empty constructor for the array tag types. It may break old method references like
::NbtByteArray(Breaking Change) - A constructor which accepts
IterabletoNbtCompound - Constructors which accepts
Stringto allNbtTagtypes stringValueproperty toNbtTagunsigedproperty toNbtByte- A static function
NbtByte.unsigned(String)to a createNbtBytefrom unsigned strings. - Little endian
DataInputandDataOutputimplementations - Support to read and write Bedrock Edition NBT files using
NbtIO
Changed
NbtByte’sIntconstructor now throwsNumberFormatExceptionif the number is outside the0..255range. (Breaking Change)- Improved the
toString()methods of allNbtTagtypes (Breaking Change) NbtListnow enforces the contents to have the same type on modifications (Breaking Change)NbtCompoundnow implementsequalsandhashCodeas described by theMapinterface (Breaking Change)NbtListnow implementsequalsandhashCodeas described by theListinterface (Breaking Change)- Renamed
NbtByte.valuetoNbtByte.signed.NbtByte.valueis still usable but it is deprecated, is being replaced in byte-code and will be removed in a future version. NbtListand the returned sub-lists now implementsRandomAccess
2.0.0 - 2020-01-24
Changed
- Upgraded to Kotlin 1.3.61
NbtIO.writeNbtFileandNbtIO.readNbtFilenow throwsIOExceptionin Java (Breaking Change)
1.1.0 - 2019-06-02
Added
- New constructor to
NbtListwhich accepts an otherNbtListto resolve an ambiguity call in this scenario. toNbtList()extension function to many combinations ofIterableandArraywhich contains valid values forNbtList, including list of list.NbtList.createand it’s sublist flavours to simplify list creations for Java usersadd,remove,contains,minusAssignandplusAssignextension functions to many possibleNbtListfor easy usage by Kotlin users
1.0.1 - 2019-05-27
Fixes
- StackOverflowException on
NbtCompound.set(String, NbtTag)
1.0.0 - 2019-05-27
Added
deepClonemethod to all tagsrequiremethod toNbtCompound
Changed
NbtListis now aMutableListand not adata classanymore. This completely changes how API users interacts with them.NbtCompoundis now aMutableMapand not adata classanymore. This completely changes how API users interacts with them.- Renamed the parameter
nametokeyin all methods ofNbtCompound - Renamed the parameter
tagNametotagKeyin all copy methods ofNbtCompound - All get methods from
NbtCompoundwill now throwNoSuchElementExceptionif the requested key does not exists in the compound - All methods which throws exceptions now have the exception which is thrown registered in the binary files. Useful for Java users and who couldn’t get the sources or javadoc.
0.0.2 - 2019-05-27
Added
- Static methods for java users calling
NbtIO - Documentation to all public types, functions and properties
- The methods
NbtCompound.remove(String),NbtCompound.remove(String, NbtTag)andNbtCompound.minusAssign(String)
Changed
- JavaDoc will not generate when building on Java 9+ due to a dokka issue
- The targetCompatibility to Java 8
0.0.1 - 2019-05-23
Added
- API to read and write to/from NBT files/streams using
NbtIO - API to freely manipulate NBT data loaded in memory