LibGui

Buttons & Co

MIT License

Stars
288
Committers
34

Bot releases are visible (Hide)

LibGui - 11.1.0 for Minecraft 1.21(.1)

Published by Juuxel 2 months ago

Repository version: 11.1.0+1.21

Added

  • Option for WLabel, WText and WDynamicLabel to draw shadows (#248 by @MarcusElg, #233, #245)
  • Vertical alignment in WDynamicLabel and a getter for the horizontal alignment (#249 by @MarcusElg, #202)
  • Many new public properties in WItemSlot:
    • Getters for the backing inventory details: getInventory, getStartIndex, getSlotsWide, getSlotsHigh
    • Getters for the slot peer details: getPeers, getPeerStartId (#247)
  • Missing javadoc for some methods in the widgets mentioned before

Fixed

  • Incorrect links and whitespace characters in javadoc
LibGui - 11.0.0 for Minecraft 1.21 Latest Release

Published by Juuxel 4 months ago

Repository version: 11.0.0+1.21

Changed

  • Updated to Minecraft 1.21

Removed

  • Previously deprecated APIs:
    • ValidatedSlot.getFilter
    • ValidatedSlot.setFilter
    • WItemSlot.getFilter
    • WItemSlot.setFilter
    • WListPanel.margin
LibGui - 10.0.0 for Minecraft 1.20.6

Published by Juuxel 6 months ago

Repository version: 10.0.0+1.20.6

Added

  • SyncedGuiDescription.getWorld

Changed

  • Updated to Minecraft 1.20.6 (#242 by @acikek)
  • ScreenNetworking now uses codecs instead of raw buffer access to better work with the game's networking updates

Fixed

  • Multiframe sprites skipping the last frame (#236 by @falseresync)
LibGui - 9.2.2 for Minecraft 1.20.2-1.20.4

Published by Juuxel 9 months ago

Repository version: 9.2.2+1.20.2

Fixed

  • WSlider having a client-sided field initialisers leading to a crash with Fabric Loader 0.15 (related to #231)
LibGui - 8.1.1 for Minecraft 1.20.1

Published by Juuxel 9 months ago

Repository version: 8.1.1+1.20.1

Fixed

  • Client-sided field initialisers being used in common classes, leading to a crash with Fabric Loader 0.15 (#231)
LibGui - 9.2.1 for Minecraft 1.20.2-1.20.4

Published by Juuxel 10 months ago

Repository version: 9.2.1+1.20.2

Fixed

  • Client-sided field initialisers being used in common classes, leading to a crash with Fabric Loader 0.15 (#231)
LibGui - 9.2.0 for Minecraft 1.20.2

Published by Juuxel 11 months ago

Repository version: 9.2.0+1.20.2

Added

  • Ghost item icons (#228). You can make item icons have a "ghost" look like in the recipe book by calling ItemIcon.setGhost(true).
  • CottonInventoryScreen.paintDescription for painting the GUI description of the screen

Fixed

  • WItemSlot.iconOnlyPaintedForEmptySlots having flipped behaviour (#229)
  • Title being below screen (#227)
LibGui - 9.1.0 for Minecraft 1.20.2

Published by Juuxel 11 months ago

Repository version: 9.1.0+1.20.2

Added

  • WScrollPanel scroll bar getters and setters (#225 by @tal5)
  • WListPanel.insets and WListPanel.gaps properties for controlling the list item positioning (#221)
  • WScrollPanel.insets: for applying insets to the viewed widget
  • Insets.width() and Insets.height(): methods that compute the total width/height from insets
  • WItemSlot.iconOnlyPaintedForEmptySlots (#203): can be set to true to hide icons when a slot has items

Fixed

  • Screen.renderBackground being called twice (#226)
  • WWidget.addPainters not being called for all WListPanel children

Deprecated

  • WListPanel.margin field: replaced with insets and gaps
LibGui - 9.0.0 for Minecraft 1.20.2

Published by Juuxel about 1 year ago

Repository version: 9.0.0+1.20.2

Added

  • BackgroundPainter.createGuiSprite: creates a background painter from a sprite on the GUI atlas
  • Texture now supports both standalone texture files and sprites on the GUI atlas
    • The Texture.Type enum has two values: STANDALONE and GUI_SPRITE
    • Each sprite has an associated Type value. The pre-existing constructors still create standalone textures, but you can also pass Type.GUI_SPRITE to wrap GUI sprites
  • WScrollBar.get/setScrollingSpeed to control the mouse scroll speed of scroll bars (#218 by @LopyMine)

Changed

  • Updated to Minecraft 1.20.2
  • WButton and WLabeledSlider can now have any height
    • Note: this can lead to existing screens rendering slightly differently. If you want the old behaviour, you can set the height to 20 manually.
  • WWidget.onMouseScroll now has support for both horizontal and vertical scrolling
  • Many texture files were moved to the GUI sprite atlas to support vanilla's data-driven nine-slice textures.
    • libgui:textures/widget/dark_widgets.png was moved and split up:
      • Note: these names match the corresponding light mode vanilla textures.
      • libgui:textures/gui/sprites/widget/button_dark.png
      • libgui:textures/gui/sprites/widget/button_disabled_dark.png
      • libgui:textures/gui/sprites/widget/button_highlighted_dark.png
      • libgui:textures/gui/sprites/widget/slider_handle_dark.png
      • libgui:textures/gui/sprites/widget/slider_handle_highlighted_dark.png
    • Panel textures were moved:
      • libgui:textures/widget/panel_dark.png -> libgui:textures/gui/sprites/widget/panel_dark.png
      • libgui:textures/widget/panel_light.png -> libgui:textures/gui/sprites/widget/panel_light.png
    • Scroll bar textures were moved:
      • libgui:textures/widget/scroll_bar/background_dark.pnglibgui:textures/gui/sprites/widget/scroll_bar/background_dark.png
      • libgui:textures/widget/scroll_bar/background_light.pnglibgui:textures/gui/sprites/widget/scroll_bar/background_light.png
      • libgui:textures/widget/scroll_bar/focus.pnglibgui:textures/gui/sprites/widget/scroll_bar/focus.png
      • libgui:textures/widget/scroll_bar/thumb_dark.pnglibgui:textures/gui/sprites/widget/scroll_bar/thumb_dark.png
      • libgui:textures/widget/scroll_bar/thumb_hovered_dark.pnglibgui:textures/gui/sprites/widget/scroll_bar/thumb_hovered_dark.png
      • libgui:textures/widget/scroll_bar/thumb_hovered_light.pnglibgui:textures/gui/sprites/widget/scroll_bar/thumb_hovered_light.png
      • libgui:textures/widget/scroll_bar/thumb_light.pnglibgui:textures/gui/sprites/widget/scroll_bar/thumb_light.png
      • libgui:textures/widget/scroll_bar/thumb_pressed_dark.pnglibgui:textures/gui/sprites/widget/scroll_bar/thumb_pressed_dark.png
      • libgui:textures/widget/scroll_bar/thumb_pressed_light.pnglibgui:textures/gui/sprites/widget/scroll_bar/thumb_pressed_light.png

Removed

  • Unused field: WButton.darkmodeColor

Fixed

  • ScreenDrawing.texturedRect not respecting the provided ARGB colour's alpha values
  • ScreenDrawing.texturedRect "leaking" shader colours
LibGui - 8.1.0 for Minecraft 1.20.1

Published by Juuxel about 1 year ago

Repository version: 8.1.0+1.20.1

Added

  • Separate input/output filters for WItemSlot and ValidatedSlot (#209 by @Luligabi1)
  • New protected fields to WPlayerInvPanel (#209):
    • WItemSlot inventory
    • WItemSlot hotbar
    • @Nullable WWidget label

Changed

  • WScrollBar is now painted using textures instead of code (#212 by @LopyMine)
  • Updated French translations (#208 by @jagerbob)

Deprecated

  • ValidatedSlot: getFilter, setFilter - replaced with get/setInputFilter
  • WItemSlot: getFilter, setFilter - replaced with get/setInputFilter

Fixed

  • Hard requirement on MC 1.20.1 being a soft requirement
LibGui - 8.0.2 for 1.20(.1)

Published by Juuxel about 1 year ago

Repository version: 8.0.2+1.20

Changed

  • Updated Tatar translation (#206 by @Amirhan-Taipovjan-Greatest-I)
  • Updated bundled Jankson-Fabric version
LibGui - 8.0.1 for 1.20

Published by Juuxel over 1 year ago

Repository version: 8.0.1+1.20

Fixed

  • WPanelWithInsets.expandToFit(WWidget) not taking the insets into account
LibGui - 8.0.0 for 1.20

Published by Juuxel over 1 year ago

Repository version: 8.0.0+1.20

Changed

  • Updated to Minecraft 1.20
  • Replaced all MatrixStack parameters with DrawContext

Fixed

  • Incorrect position for screen titles with non-left alignment
LibGui - 7.1.1 for 1.19.4

Published by Juuxel over 1 year ago

Repository version: 7.1.1+1.19.4

Fixed

  • Incorrect position for screen titles with non-left alignment
LibGui - 8.0.0 Beta 1 for 1.20-rc1

Published by Juuxel over 1 year ago

Repository version: 8.0.0-beta.1+1.20-rc1

Changed

  • Updated to Minecraft 1.20
  • Replaced all MatrixStack parameters with DrawContext
LibGui - 7.1.0 for 1.19.4

Published by Juuxel over 1 year ago

Repository version: 7.1.0+1.19.4

Added

  • GUI- and widget-level dark mode toggles to override LibGui's global setting
    • GuiDescription.isDarkMode() is the primary API method here. Override it to force dark or light mode by returning a non-DEFAULT value.
    • WWidget.shouldRenderInDarkMode() checks if a specific widget should use dark mode or light mode. Custom widgets can simply replace calls to LibGui.isDarkMode() with shouldRenderInDarkMode() calls.
    • All built-in widgets and background painters support the new API.
LibGui - 7.0.1 for 1.19.4

Published by Juuxel over 1 year ago

Repository version: 7.0.1+1.19.4

Fixed

  • Maven publishing details referencing dependencies of the test mod
LibGui - 7.0.0 for 1.19.4

Published by Juuxel over 1 year ago

Added

  • Tatar translation (#195 by @Amirhan-Taipovjan-Greatest-I)

Changed

  • Updated Simplified Chinese translation (#194 by @Enaium)

Fixed

  • Crash when tabbing to a text field and typing text after calling setText("")
LibGui - 7.0.0 RC 1 for 1.19.4

Published by Juuxel over 1 year ago

Repository version: 7.0.0-rc.1+1.19.4

Added

  • ItemSyncedGuiDescription, a specialised SyncedGuiDescription for creating GUIs for item stacks contained in inventories

Changed

  • Opening a LibGui screen inside an item usage method (Item.use/useOnBlock/useOnEntity) in a dev environment will now immediately crash. Setting screens inside those methods is unsafe with respect to threading and side-only code. This check can be disabled by setting the system property libgui.allowItemUse to true.
LibGui - 7.0.0 Beta 2 for 1.19.4

Published by Juuxel over 1 year ago

Repository version: 7.0.0-beta.2+1.19.4

Added

  • SimpleKeyedFocusModel: a basic focus model implementation that supports multiple foci with unique keys

Changed

  • Renamed FocusHandler to FocusModel
  • Improve focus model documentation