Skip to content

Latest commit

 

History

History
139 lines (109 loc) · 7.14 KB

CHANGELOG.md

File metadata and controls

139 lines (109 loc) · 7.14 KB

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.

Click the link above to see the future.

3.1.0 - 2021-10-28

Downloads from maven central.

Kotlin Documentation

Added

  • Automatic Java Jigsaw Module named br.com.gamemods.nbtmanipulator
  • NbtIO.writeNbtTagDirectly() and NbtIO.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

Downloads from maven central.

Kotlin Documentation

Fixed

  • Made a micro-optimization to the NbtCompound constructor.

Added

  • Empty constructor for the array tag types. It may break old method references like ::NbtByteArray (Breaking Change)
  • A constructor which accepts Iterable to NbtCompound
  • Constructors which accepts String to all NbtTag types
  • stringValue property to NbtTag
  • unsiged property to NbtByte
  • A static function NbtByte.unsigned(String) to a create NbtByte from unsigned strings.
  • Little endian DataInput and DataOutput implementations
  • Support to read and write Bedrock Edition NBT files using NbtIO

Changed

  • NbtByte's Int constructor now throws NumberFormatException if the number is outside the 0..255 range. (Breaking Change)
  • Improved the toString() methods of all NbtTag types (Breaking Change)
  • NbtList now enforces the contents to have the same type on modifications (Breaking Change)
  • NbtCompound now implements equals and hashCode as described by the Map interface (Breaking Change)
  • NbtList now implements equals and hashCode as described by the List interface (Breaking Change)
  • Renamed NbtByte.value to NbtByte.signed. NbtByte.value is still usable but it is deprecated, is being replaced in byte-code and will be removed in a future version.
  • NbtList and the returned sub-lists now implements RandomAccess

2.0.0 - 2020-01-24

Downloads from maven central.

Kotlin Documentation

Changed

  • Upgraded to Kotlin 1.3.61
  • NbtIO.writeNbtFile and NbtIO.readNbtFile now throws IOException in Java (Breaking Change)

1.1.0 - 2019-06-02

Downloads from maven central.

Kotlin Documentation

Added

  • New constructor to NbtList which accepts an other NbtList to resolve an ambiguity call in this scenario.
  • toNbtList() extension function to many combinations of Iterable and Array which contains valid values for NbtList, including list of list.
  • NbtList.create and it's sublist flavours to simplify list creations for Java users
  • add, remove, contains, minusAssign and plusAssign extension functions to many possible NbtList for easy usage by Kotlin users

1.0.1 - 2019-05-27

Downloads from maven central.

Kotlin Documentation

Fixes

  • StackOverflowException on NbtCompound.set(String, NbtTag)

1.0.0 - 2019-05-27

Downloads from maven central.

Kotlin Documentation

Added

  • deepClone method to all tags
  • require method to NbtCompound

Changed

  • NbtList is now a MutableList and not a data class anymore. This completely changes how API users interacts with them.
  • NbtCompound is now a MutableMap and not a data class anymore. This completely changes how API users interacts with them.
  • Renamed the parameter name to key in all methods of NbtCompound
  • Renamed the parameter tagName to tagKey in all copy methods of NbtCompound
  • All get methods from NbtCompound will now throw NoSuchElementException if 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

Downloads from maven central.

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) and NbtCompound.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

Downloads from maven central.

Added

  • API to read and write to/from NBT files/streams using NbtIO
  • API to freely manipulate NBT data loaded in memory