Skip to content

Releases: NichtStudioCode/InvUI

InvUI v2.0.0-RC.1

04 Apr 09:31

Choose a tag to compare

  • 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

31 Mar 16:17

Choose a tag to compare

InvUI v2.0.0-beta.7 Pre-release
Pre-release
  • 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

28 Mar 17:45

Choose a tag to compare

InvUI v2.0.0-beta.6 Pre-release
Pre-release

invui

Additions

  • Added PagedGui<SlotElement>, ScrollGui<SlotElement>
  • Added Window#sendAllDataToViewer
  • SlotElement.InventoryLink can now define a visualizer function

Changes

  • Minimum required Java version is now 25
  • Window title updates are now batched
  • Window#open now does nothing when trying to open an already open window instead of throwing an exception.
  • Slots to different instances of ReferencingInventory.PlayerStorageContents will no longer be deduplicated in item-drags
  • Window tick performance improvements

invui-kotlin

Additions

  • Added extensive KDoc for DSL API
  • Added window, gui providers to WindowDsl, GuiDsl that contain the Window/Gui after creation
  • Added inventory-with-background API to IngredientsDsl ('x' by (inventory with backgroundProvider))
  • Added by SlotElementSupplier to IngredientsDsl
  • Added level, progress, restockMessageEnabled to MerchantWindowDsl
  • Exposed viewer in WindowDsl
  • Exposed base item stack in ItemProviderDsl. Added a top level function to create an ItemProviderDsl with an empty base.

Changes

  • paged/scroll/tab gui content updates through providers are now batched
  • ItemProviderDsl will now automatically un-hide the tooltip if lore or name is set (like ItemBuilder did already)
  • Flattened package xyz.xenondevs.invui.dsl.property into 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 ItemProviderDsl inheriting default lore formatting

InvUI v2.0.0-beta.5

15 Mar 10:04

Choose a tag to compare

InvUI v2.0.0-beta.5 Pre-release
Pre-release
  • Fixed clone methods on gui- and window builders not properly cloning some components

InvUI v2.0.0-beta.4

07 Mar 13:29

Choose a tag to compare

InvUI v2.0.0-beta.4 Pre-release
Pre-release
  • Fixed an issue where the StonecutterWindow would display the actual recipes if the buttonsGui was of size 0
  • Fixed InvUI throwing a NoSuchElement during disable if its packet handler was already removed
  • Set up KDoc publishing for invui-kotlin to maven repository

InvUI v2.0.0-beta.3

07 Feb 15:58

Choose a tag to compare

InvUI v2.0.0-beta.3 Pre-release
Pre-release

Changes & Additions

invui

  • Added StonecutterWindow.Builder#setSelectedSlot(int)

invui-kotlin

  • Added itemProvider { } DSL
  • IngredientsDsl now also accepts Supplier<Item> and Supplier<SlotElement>
  • WindowDsl#serverWindowState is now a MutableProviderDslProperty instead of a ProviderDslProperty
  • Removed specialized provider dsl properties like ItemProviderDslProperty, replaced with extension functions overloading by

Fixes

  • Fixed an issue where the StonecutterWindow would show the actual recipes of the item in the input slot
  • Fixed an issue where slot 100 of the StonecutterWindow would not be displayed
  • Fixed an issue where the buttons GUI of the StonecutterWindow would 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 StonecutterWindow would 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

06 Feb 17:02

Choose a tag to compare

InvUI v2.0.0-beta.2 Pre-release
Pre-release
  • 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

12 Jan 14:13

Choose a tag to compare

InvUI v2.0.0-beta.1 Pre-release
Pre-release

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

  • InventorySlotElement now stores its background in a Property<@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

26 Dec 14:19

Choose a tag to compare

InvUI v2.0.0-alpha.26 Pre-release
Pre-release
  • Observable / SlotElement can now specify an optional update period at which they want to be queried
  • Fixed an issue where Player#closeInventory would 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

24 Dec 14:46

Choose a tag to compare

InvUI v2.0.0-alpha.25 Pre-release
Pre-release
  • Added #ItemBuilder(ItemType)
  • invui-kotlin: DSL: added by overloads to IngredientDsl for item / slot element suppliers
  • Periodic notify tasks (from Item.Builder#updatePeriodically and ReferencingInventory) now run synchronously again, with one ScheduledTask per Window