2.11.0
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 forhasKey
, returningboolean
instead ofBoolean
- 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 owngetItemStack
will now return null if the tag is not foundgetKeys
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 extendNBTList<ReadWriteNBT>
instead ofNBTList<NBTListCompound>
. This is a compile-time breaking change, and code needs to be updated accordingly. Already published plugins should not be affected by this.