Skip to content

Releases: NichtStudioCode/InvUI

InvUI v1.45

26 Mar 10:43
Compare
Choose a tag to compare
  • 1.21.5 Support
  • Deprecated api-querying skull builder and head texture methods, as hardcoded texture values should be preferred in most cases.

InvUI v1.44

04 Feb 22:38
Compare
Choose a tag to compare
  • Fixed an issue where all deserialized item stacks would have conversions applied as if they were serialized under data version 3700

InvUI v2.0.0-alpha.7

22 Jan 12:45
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.7 Pre-release
Pre-release

New features

invui

  • Guis can now be used as ingredients in gui builder / structure
  • Added AnimatedTitle
  • Placeholders for item name and lore can now be defined in ItemBuilder. These placeholders will be applied if name / lore are set using the methods that accept mini-message-formatted strings. Placeholders will also be filled into translation strings by default.
  • ItemStack arrays supplied to VirtualInventory constructors will now get copied

invui-kotlin

  • Added reactive functions setItemProvider, setContent, setTabs without mapping lambdas
  • Added reactive functions for setPage, setLine, setTab

Changes

  • Renamed all setContent / setTabs / setTitle method overloads that accept suppliers to setContentSupplier / setTabsSupplier / setTitleSupplier
  • Container open and initial items packets are now bundled to prevent empty inventories from shortly being visible on window open
  • Improved VirtualInventory serialization:
    • Empty slots now take up less space
    • Compression is now applied to all item stacks, instead of each item stack individually

Fixes

  • Fixed an issue where item updates in windows that were caused by player interactions would first send a packet for reverting to the previous state (cancelling the interaction), and then send the packet for the actual result of the interaction one tick later. This could be noticed as "flickering" when placing items in virtual inventories.
  • Fixed an issue where server-side component localization would drop some text preceding %%
  • Fixed an issue where windows would not be updated anymore after reopening them

InvUI v2.0.0-alpha.6

19 Dec 17:23
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.6 Pre-release
Pre-release
  • Fixed an issue where Inventory#setItemPreUpdateHandler and Inventory#setItemPostUpdateHandler would throw IndexOutOfBoundsException

InvUI v2.0.0-alpha.5

18 Dec 14:27
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.5 Pre-release
Pre-release
  • Inventories can now define click handlers
  • Inventories can now have multiple item update handlers
  • Added ItemBuilder#setCustomName
  • Fixed an issue where ItemBuilder would never clear its cache and return outdated item stacks
  • Added ItemBuilder#build, which will never return cached item stacks
  • Fixed an issue where embedded obscured inventories would not update properly

InvUI v2.0.0-alpha.4

17 Dec 18:42
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.4 Pre-release
Pre-release
  • Fixed an issue where ItemBuilder could not handle item stacks with a custom model data component that had an alpha value != 0 in the colors section

InvUI v2.0.0-alpha.3

13 Dec 11:44
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.3 Pre-release
Pre-release
  • Fixed a possible NPE in the ItemBuilder constructor
  • Fixed an issue where ItemBuilder would try to write into unmodifiable collections
  • Fixed an issue where custom model data was not cloned when cloning ItemBuilder

InvUI v2.0.0-alpha.2

08 Dec 20:06
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.2 Pre-release
Pre-release
  • Fixed an issue where windows were not notified when updating inventories through composite- or obscured inventories

InvUI v2.0.0-alpha.1

07 Dec 14:45
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.1 Pre-release
Pre-release

Please note that this is a pre-release, and more API-breaking changes may happen in future pre-releases.

The javadoc for this version can be found here.

The project structure has changed, the only available artifacts are now xyz.xenondevs.invui:invui and xyz.xenondevs.invui:invui-kotlin.

Breaking changes

  • Removed multi-version support, future InvUI versions will only always target latest Paper
  • Removed Spigot support
  • Gui, Window, Inventory, and all their subclasses are now sealed or final
  • Item is now sealed, but AbstractItem can still be extended
  • Replaced ControlItem with BoundItem / AbstractBoundItem
  • Removed Item#getItemProvider() in favor of Item#getItemProvider(Player)
  • Item#handleClick now receives Click instead of InventoryClickEvent
  • Removed SkullBuilder, PotionBuilder, BannerBuilder, FireworkBuilder and replaced ItemBuilder with a simplified version. All this data can still be added to items using the new ItemBuilder's data component methods.
  • Removed support for BaseComponent, adventure components can now be used without wrapping them in a ComponentWrapper
  • Raw strings for names in the item builder or window title are now parsed as mini message instead of legacy text format
  • Removed the default item implementations such as SimpleItem or CycleItem. Alternatives are available via static methods in Item or using Item.builder().

New features

  • New Item.Builder and BoundItem.Builder API for creating UI items without subclassing AbstractItem
  • Data component support in ItemBuilder
  • Added IngredientPreset
  • Item#notifyWindows can now be called asynchronously
  • Experimental reactive item/gui/window API via invui-kotlin

InvUI v1.43

04 Dec 10:57
Compare
Choose a tag to compare
  • 1.21.4 Support