Skip to content

Releases: CottonMC/LibGui

12.0.0 for Minecraft 1.21.2/3

23 Oct 16:39
45dc93e
Compare
Choose a tag to compare

Repository version: 12.0.0+1.21.2

Added

  • GuiDescription.get/setUseDefaultRootBackground: can be used to disable the default background painter if your root panel doesn't need it (useful for tab panels)
  • Scissors.push overload taking a nullable DrawContext. It's highly recommended that you move existing code to use this overload since it flushes buffered draw calls automatically. Otherwise, parts of widgets etc. can just disappear in GUIs using scissors.

Changed

  • Updated to 1.21.2/3
  • WDynamicLabel.alignment renamed to horizontalAlignment (along with getters and setters)

11.1.0 for Minecraft 1.21(.1)

15 Aug 16:14
798fae5
Compare
Choose a tag to compare

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

11.0.0 for Minecraft 1.21

24 Jun 12:51
Compare
Choose a tag to compare

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

10.0.0 for Minecraft 1.20.6

05 May 12:07
c9b9ea7
Compare
Choose a tag to compare

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

9.2.2 for Minecraft 1.20.2-1.20.4

14 Jan 11:29
a496e3f
Compare
Choose a tag to compare

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)

8.1.1 for Minecraft 1.20.1

14 Jan 11:23
346c725
Compare
Choose a tag to compare

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)

9.2.1 for Minecraft 1.20.2-1.20.4

09 Dec 12:06
b5e56dd
Compare
Choose a tag to compare

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)

9.2.0 for Minecraft 1.20.2

01 Dec 17:57
9be5195
Compare
Choose a tag to compare

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)

9.1.0 for Minecraft 1.20.2

18 Nov 20:16
20e4bcf
Compare
Choose a tag to compare

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

9.0.0 for Minecraft 1.20.2

15 Oct 11:45
286f0d0
Compare
Choose a tag to compare

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