Releases: NichtStudioCode/InvUI
Releases · NichtStudioCode/InvUI
InvUI v2.0.0-RC.1
- Updated to Paper 26.1.1
- Changed the default inventory max stack size to 99, allowing items with a max stack size >64 to work as expected
InvUI v2.0.0-beta.7
- Window#open and Window#close now throw an exception if called from an incorrect thread
- Window tick performance improvements
InvUI v2.0.0-beta.6
invui
Additions
- Added
PagedGui<SlotElement>,ScrollGui<SlotElement> - Added
Window#sendAllDataToViewer SlotElement.InventoryLinkcan now define avisualizerfunction
Changes
- Minimum required Java version is now
25 - Window title updates are now batched
Window#opennow does nothing when trying to open an already open window instead of throwing an exception.- Slots to different instances of
ReferencingInventory.PlayerStorageContentswill no longer be deduplicated in item-drags - Window tick performance improvements
invui-kotlin
Additions
- Added extensive KDoc for DSL API
- Added
window,guiproviders toWindowDsl,GuiDslthat contain theWindow/Guiafter creation - Added inventory-with-background API to
IngredientsDsl('x' by (inventory with backgroundProvider)) - Added
by SlotElementSuppliertoIngredientsDsl - Added
level,progress,restockMessageEnabledtoMerchantWindowDsl - Exposed
viewerinWindowDsl - Exposed
baseitem stack inItemProviderDsl. Added a top level function to create anItemProviderDslwith an empty base.
Changes
- paged/scroll/tab gui content updates through providers are now batched
ItemProviderDslwill now automatically un-hide the tooltip if lore or name is set (likeItemBuilderdid already)- Flattened package
xyz.xenondevs.invui.dsl.propertyinto its parent package - Removed provider-transforming extension functions like
setContent(provider: Provider<T>, transform: (T) -> List<C>). These were originally intended to make reactive gui code more compact but are no longer needed due to the DSL API.
Fixes
- Fixed lore in
ItemProviderDslinheriting default lore formatting
InvUI v2.0.0-beta.5
- Fixed clone methods on gui- and window builders not properly cloning some components
InvUI v2.0.0-beta.4
- Fixed an issue where the
StonecutterWindowwould display the actual recipes if thebuttonsGuiwas of size0 - Fixed InvUI throwing a
NoSuchElementduring disable if its packet handler was already removed - Set up KDoc publishing for
invui-kotlinto maven repository
InvUI v2.0.0-beta.3
Changes & Additions
invui
- Added
StonecutterWindow.Builder#setSelectedSlot(int)
invui-kotlin
- Added
itemProvider { }DSL IngredientsDslnow also acceptsSupplier<Item>andSupplier<SlotElement>WindowDsl#serverWindowStateis now aMutableProviderDslPropertyinstead of aProviderDslProperty- Removed specialized provider dsl properties like
ItemProviderDslProperty, replaced with extension functions overloadingby
Fixes
- Fixed an issue where the
StonecutterWindowwould show the actual recipes of the item in the input slot - Fixed an issue where slot 100 of the
StonecutterWindowwould not be displayed - Fixed an issue where the buttons GUI of the
StonecutterWindowwould load in delayed - Fixed an issue where the selected button would be deselected client-side when clicking on the input or output item of a
StonecutterWindow's inventory - Fixed an issue where the buttons of a
StonecutterWindowwould be unnecessarily resent when the input item was updated, causing the scroll bar to reset. (Note that the scroll bar still resets when the player interacts with the input/output slots, which is not fixable.)
InvUI v2.0.0-beta.2
- Fixed an issue where the item in the output slot of the stonecutter window would become invisible if the input slot was updated
InvUI v2.0.0-beta.1
InvUI v2.0.0 is now in beta
InvUI v2 is now in beta. The full release is planned alongside Minecraft v26.1.
InvUI v2 is now feature-complete. There are no further breaking changes planned (excluding things marked as experimental, of course) and will be avoided unless there's no other way to fix a bug found during the beta phase.
If you have feedback regarding bukkit events (introduced in 2.0.0-alpha.24), please send it on Discord or GitHub Discussions. Otherwise, this will stay on by default.
Changes
InventorySlotElementnow stores itsbackgroundin aProperty<@Nullable ItemProvider>invui-kotlin: added reactive API for inventory backgrounds
- Fixed server window state changes influencing the internal tick counter of the window
- Fixed
Inventory#setItemAmount's return value ignoring max stack size if update reason is suppressed or no event handlers registered on the inventory
InvUI v2.0.0-alpha.26
Observable/SlotElementcan now specify an optional update period at which they want to be queried- Fixed an issue where
Player#closeInventorywould send a close packet with container id 0 instead of InvUI's window container id - Fixed a deadlock when calling notifyWindows asynchronously
InvUI v2.0.0-alpha.25
- Added
#ItemBuilder(ItemType) invui-kotlin: DSL: addedbyoverloads toIngredientDslfor item / slot element suppliers- Periodic notify tasks (from
Item.Builder#updatePeriodicallyandReferencingInventory) now run synchronously again, with oneScheduledTaskperWindow