Skip to content

Releases: NichtStudioCode/InvUI

InvUI v2.0.0-alpha.11

02 May 14:46
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.11 Pre-release
Pre-release
  • Fixed an issue where windows would not work if ProtocolLib was installed

InvUI v2.0.0-alpha.10

01 May 14:39
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.10 Pre-release
Pre-release
  • Fixed Inventory#simulateMultiAdd not working

InvUI v2.0.0-alpha.9

22 Apr 14:40
Compare
Choose a tag to compare
InvUI v2.0.0-alpha.9 Pre-release
Pre-release
  • Fixed an issue where TabGui-bound items would not be updated on tab change

2.0.0-alpha.8

22 Apr 10:50
Compare
Choose a tag to compare
2.0.0-alpha.8 Pre-release
Pre-release

New features

  • Updated to 1.21.5
  • Added CrafterWindow, MerchantWindow, StonecutterWindow
  • Added methods to change/update items/slot elements in GUIs based on the ingredient key that was used in the structure
  • Content lists slots can now be changed after GUI creation
  • Items can now have bundle select handlers (triggered when scrolling through a bundle and when the cursor leaves the bundle item)
  • GUI-embedded inventories can now handle bundle interactions
  • Inventories can now define a custom iteration order that is used for methods like addItem
  • Windows can now have a "fallback window", which is a window that will be opened if the previous window was closed by the player (by pressing ESC or E). Unlike opening a window in a close handler, this will carry the cursor item stack over to the new window.

Changes

  • Reworked animations. Animations can now be created via Animation.builder() and consist of 5 components:
    1. Slot filter: Defines which slots are part of the animation.
    2. Slot selector: Selects the slots that are shown in each frame.
    3. Intermediary generator: Creates intermediary SlotElements that are displayed before the slots pop in.
    4. Show handler: Called when slot(s) are shown, for example to play a sound effect.
    5. Finish handler: Called when the animation is finished.
  • All windows are now packet-based
    • This should resolve #84 and #107
    • Click and PlayerUpdateReason no longer contain the Bukkit event / other information predicted by Bukkit, as no click event is actually fired.
    • There is no longer a difference between "single" and "split" windows. Instead, all windows are now what was previously considered a split window, with the bottom GUI defaulting to a ReferencingInventory that references the player inventory.
  • GUI-embedded ReferencingInventories now automatically notify windows when the referenced contents change
  • Reworked CartographyWindow
  • Replacing the open window will now carry the cursor item stack to the new window
  • Window close handlers now receive a close reason
  • Renamed builder factory functions to be more consistent. If there is only a single builder available, the function is now named .builder (for example in AnvilWindow.builder()). Specialized builder factory functions are prefixed by their specialty (e.g. PagedGui.itemsBuilder())
  • Updated the naming of some methods in PagedGui / ScrollGui
  • Removed superfluous methods in PagedGui and ScrollGui, such as hasPreviousPage or goForward
  • Replaced supplier-based GUI/window state with Property / MutableProperty, which are supposed to serve as an adapter interface for such data structures.
  • invui-kotlin: Removed provider-combining overloads

Fixes

  • Reverted GUI-/inventory slot element suppliers to the old looping behavior. This is required for cases where a GUI builder's build method is called multiple times.
  • Fixed an issue where the GUI background would not work for non-nested GUIs
  • Fixed an issue where Inventory#collectSimilar would not take from full stacks

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