New major NBTAPI release, adding 1.19.3 support and a new way to interact with the API.
Changes:
- 1.19.3 support
- Added interfaces to most nbt logic, including read-only versions
- Added a new utility class NBT, which provides clean lambda access to read and write NBT.
https://github.com/tr7zw/Item-NBT-API/wiki/Using-the-NBT-API has updated examples on how to use this class.
- Utility readFrom/saveTo methods to NBTFile
- hasTag as alternative for hasKey, returning boolean instead of Boolean
- Added getOrDefault method
- Added getOrNull method
- Deprecated setObject/getObject, please do the serialization yourself using your preferred lib/settings
- getUUID/setUUID now will handle pre-1.16 and post-1.16 formats correctly on their own
- getItemStack will now return null if the tag is not found
- getKeys is now a copy of the Set, and no longer linked to NMS internal objects
- Added setItemStackArray/getItemStackArray methods
- Added modifyMeta methods to ItemStacks. Do not modify the NBT while inside the modifyMeta scope
- The wiki is now inside the Github repository, so anyone can make pull requests to add examples, clarifications etc.
- NBTItem now will correctly reject ItemStacks of size 0
- Updated a lot of Javadoc
- The full API Javadoc is now available under
https://tr7zw.github.io/Item-NBT-API/v2-api/
- Pulling the NBTAPI plugin via Maven/Gradle will now also correctly contain the API Javadoc(only had the plugin Javadoc before)
- Fixed small NPE error during error reporting(ironic)
- NBTCompoundList now extend NBTList<ReadWriteNBT> instead of NBTList<NBTListCompound>. This is a compile-time breaking change, and code needs to be updated accordingly. Already published plugins should not be affected by this.