New:
-
ListedLayers#reset() and
PaginatedElements#reset() [Useful if layer hasn't been added to GUI and is being handled by another layer]
-
Item#onSwapHand,
Item#onSlotChange,
Item#onDrop,
Item#onPickup (
#1)
Changes:
-
Item#onUse now has a third argument
ClickType showing what type of click it was (left/right) (
#1)
Fixes:
-
BlockInteractionEvent#getInteractionPoint is now Nullable
From now on AbyssalLib will receive
smaller updates as well as
dev versions (dev only on GitHub)
For Developers: you should now add a lang key `plugin.<plugin_id>` so that you can show a proper name inside ItemMenu (default is plugin_id). Optionally, also add an icon.
New:
Statistics Menu, and Item Menu for viewing said content (view permissions in docs)
Namespace#icon for specifying the plugin icon to show in /abyssallib content items (textures/items/icon.png)
EntitySpawner component for items that spawn custom entities
Statistics API for adding custom Statistics to players
Command now supports aliases
Codecs for all DataComponents
Codec#collection and Codec#collection(collectionConstructor) (e.g. codec.collection(HashSet::new))
Entity now supports DataComponent (not Vanilla ones, only custom)
EnergyContainer component (wrapper for SimpleEnergyContainer)
A lot of new codecs in ExtraCodecs and Codecs
oversizedInGui field for ItemDefinition
Kotlin player and entity extensions for various methods
Middle Click now picks the blocks item (if it exists) instead of the vanilla item
Changes:
Rewrote Item class (for devs):
There is NO change in how you register the item or create them, but now, instead of passing the Item as an ItemStack, you must call Item#stack() instead