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.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }