+ Add support for 1.21.2 and 1.21.3
* Fix NMS break on 1.21.1
* Fix plugins with paper-plugin.yml file not working
* Fix GuiItem#clone() not supporting air items
+ Add 1.20.5 and 1.20.6 support
+ Add Gui#setParent
+ Add PagingButtons component
* Fix toggle buttons using the wrong plugin instance
* Fix toggle buttons being displayed in the wrong position
* Fix PatternPane#copy failing for non-square panes
* Fix panes inside masonry panes being displayed in the wrong position
* Fix 1.20.1 not working
* Fix NPE for skulls
+ Add 1.20.3 and 1.20.4 support
+ Add crafter gui
+ Add 1.20.2 support
* Fix ToggleButton handlers not always firing
* Fix setting cursor in close event not working
* Fix plugin not being passed to all gui types and panes
* Fix crafting table gui not displaying items
* Fix toggle buttons not working in masonry panes
* Fix methods linked to XML files not allowing for supertypes of parameter types
+ Add Minecraft 1.20 support
+ Add AnvilGui#setOnNameInputChanged(Consumer<? super String>)
* Fix invisible items in OutlinePane making other items invisible
* Fix GuiItem#copy() not copying over the plugin instance
* Fix CartographyTableGui#copy() not copying over the plugin instance
+ Add 1.19.4 support
* Fix StaticPane#addItem not overriding already set items in the same position
* Fix anvil and grindstone gui not working on Bukkit and Spigot
+ Add the ability to specify custom plugin instances
+ Add slots
+ Add PaginatedPane#addPage(Pane)
+ Add ToggleButton#allowToggle(boolean)
+ Add GuiItem#setItem(ItemStack)
+ Add AnvilGui#setCost(short)
+ Add 1.19.3 support
* Fix item movement behaviour in anvil guis
* Fix invisible items showing up in OutlinePanes
* Fix item movement behaviour in grindstone guis
+ Add 1.19.1 and 1.19.2 support
+ Add MerchantGui#setOnTradeSelect
+ Add Pane#createBorder
* Fix ToggleButton not executing item events
* Fix ChestGui#setRows removing panes
* Fix inventories not restoring after a Gui#update call
* Fix nested panes ignoring visibility
* Fix MerchantGui#copy not copying all the data
+ Add cutom model data support in XML
+ Add 1.19 support
* Fix cycle button not firing item click events
* Fix chest guis always recreating inventories after changing the rows
+ Add delete page method to PaginatedPane
+ Allow for a processor in setText on Label
+ Add 1.18.2 support
* Fix duplicate items with different actions performing the same action
* Fix item action not being fired when a player toggles a toggle button
* Fix the percentage bar always displaying a percentage of zero
* Fix getColumn on Mask not working properly on non-square masks
* Fix Adventure-based titles being improperly displayed in some inventories
* Fix inconsistent inventory click event data for one slot drags
* Fix not being able to modify panes inside a click handler
* Improve off-hand ghost item removal
+ Add 1.18 / 1.18.1 support
+ Add enabled option to ToggleButton constructor
* Fix lowercase priorities in XML being allowed
* Improve error handling for paginated pane tags in XML
* Fix populate methods not being called correctly
* Fix item movement in smithing table gui
+ Allow setting level and experience on merchant guis
+ Allow setting discount on trades in merchant guis
+ Add center alignment to outline pane
* Fix armor disappearing when opening a gui
* Fix items not moving properly in grindstone gui
* Fix viewers being empty for anvil guis
+ Add Adventure support
+ Add merchant gui
+ Add 1.17.1 support
+ Add StaticPane#removeItem(int x, int y)
* Fix anvils not showing the result item on 1.17
* Fix opening a gui on closing causing events not to work
+ Add 1.17 support
* Prevent cursor from being reset when gui updates
* Fix empty pages throwing error on click
+ Add ToggleButton#isEnabled
* Component clicks will be fired after their state has been changed
* Fix percentage bar and slider having length of zero
* Fix items sometimes failing to apply UUID correctly
* Fix overriding item meta on a created gui item breaks click functionality
* Fix inventory components not being cleared before re-rendering
* Allow for subclasses of InventoryClickEvent as optional parameter in XML-bound click methods
* Throw exception for panes with lengths or heights of zero
* Fix coordinate calculation for pane clicks
* Fix inability to open gui within a gui
* Don't unnecessarily reset players' items
* Fix close event not firing
* Fix paginated pane throwing errors upon rendering
* Correct players' off hand item after closing/updating a gui
+ Add support for drag events
* Fix click events not firing
* Fix empty tag throwing errors upon loading
This is a breaking version, please review the wiki to see how to update to this version from previous versions.
+ Add MergedGui interface
* Fix clicking on items not working for certain gui types
* Fix setting the title not updating the gui correctly
* Fix updating the gui causing it to close
+ Add anvil, barrel, beacon, blast furnace, brewing stand, cartography table, crafting table, dispenser, dropper, enchanting table, ender chest, furnace, grindstone, hopper, shulker box, smithing table, smoker and stonecutter inventories
This is a breaking change, please read the wiki on how to update to this version:
https://github.com/stefvanschie/IF/wiki/Updating-from-previous-versions
+ Add properties to gui items
+ Add
GuiItem#setAction method
+ Add
Pane#getUUID method
* The `Gui#copy` method now also copies the internal `UUID`.
+ Added copy methods to Gui, GuiItem and all panes
* Fix item dragging not being handled
* Fix players picking up items going into their inventory when bottom inventory is in use
This version has been tested on Minecraft 1.16 and seems to work without changes. Of course if you do encounter issues, please report them.
* No longer display items that are outside a pane's boundary
* Switch to native NBT solution
* Make callbacks error safe
- Remove 1.12 and 1.13 support
This update has API breaking changes. A guide on how to update from prior versions can be found
here.
* Additional safeguards for restoring cached inventories
* Fix StaticPane#addItem not overriding existing locations (
2b2339e)
* Fix OutlinePane always repeating (
f208d34)
* Fix issue with onClose being called when a gui is being updated
* Fix issue with clicking on non plugin placed items (
8db1bb7)
+ Added PaginatedPane#getPanes(int) method (
b5788f2)
* Fix list based item meta getting removed (
6750763)
* Fix MiniNBT not being shaded (
fcade00)
* Fix item meta being lost (
7873e83)
+ Add StaticPane#fillWith(ItemStack, Consumer) (
aee0acf)
* Fix issue with item clicks not working when items were moved (
68339af)
+ Added removeItem(GuiItem) methods to OutlinePane and StaticPane (
f6d73ed)
+ Added onOutsideClick setters and getters and as attribute for gui element in XML files; will be fired when someone clicks outside of the Gui (
bf3f608).
* Fix issue where clicking in a PaginatedPane when opened on an unknown pane would throw an NullPointerException (
6e33509)
+ Added PaginatedPane#populateWithGuiItems (
032c2eb)
* Fix PaginatedPane#display throwing NPE for non-existent pages (
1d4d111)
* Add 1.12 support for guis (
#14)
* Fix memory leak (
27f54d2)
* Fix issues with PaginatedPane#populateWithItemStacks (
4bbdbaa)
* Fix error occurring when loading items from XML when amount and damage were not set.
* Fix the onClose lambda also firing for other inventories than the one you registered to
* Fixed compatibility issues with version 1.14-pre-5
+ Added percentage bar UI element
+ Added label UI element
+ Added cycle button UI element
+ Added toggle button UI element
+ Added slider UI element
+ Panes can now be put/overflow into the bottom half of the inventory
+ Added onBottomClick to Gui
* Fix issue with onGlobalClick not always firing
= Renamed onLocalClick in Gui to onTopClick
= Renamed onLocalClick in Pane to onClick
+ Added a clear method to panes, to remove all their items or panes
* Incorrect pane loading for y coordinate
* Incorrect loading of paginated panes
= Improved exception handling on panes and items
= Improved annotations
+ Added MasonryPane
+ Divided pane options into interfaces
* XML reading issues now throw an exception, instead of doing whatever they like
- Removed GuiLocation
The wiki has been updated to reflect the new features and changes, which can be found
here.
This update has API breaking changes. A guide on how to update from prior versions can be found
here.
+ Added new populateWithItemStacks method to PaginatedPane
+ Added new populateWithNames method to PaginatedPane
+ Added new fillWith method to StaticPane
* Changed AssertionErrors to Exceptions
* Air materials were being ignored
* Fix clicking two or more times on an item that was loaded from an XML file and has one or more properties assigned to it causing an error.
* Small bug fix which fixes malfunctioning reflection on certain fields
+ Added options to flip static and outline panes either horizontally or vertically.
+ Added option to call a consumer when the bottom side of the inventory is clicked when the GUI is open
* Renamed click methods to local click methods.
The wiki has been updated to reflect the new features and changes, which can be found
here.
This update has API breaking changes. A guide on how to update from prior versions can be found
here.