90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

GUI Lib 2.0.0 Pre3

Changelog

Major Update: Version 2.0.0p3

BUI Enhancements

  • New Features:
    • Added a main menu button to open the BUI menu.
    • Introduced the "Detected Projects" menu inside the new BUI menu.
    • XML files from GuiLib/TestFolder/ within the main BTA run folder can now be opened.
    • Added AdvancedGuiScreen for GUIs unrelated to blocks.
    • Enhanced the Refresh (F12) function.
    • Added a new setup() function in Page.java:
      • Accepts a lambda containing the page logic.
    • Introduced textureManager:
      • Manages texture properties loaded from YAML files.
    • Added GuiHelper with:
      • Public static variables for mouseX and mouseY.
      • Other useful functions.
    • Updated the logo and added new textures.
    • Removed hardcoded routes.

Nodes System Updates

  • Replacements & Additions:
    • Replaced Bar.java with Layout.
    • Added Scrollable Layout.
    • Layout direction is now declared as an attribute of Layout and ScrollableLayout.
  • Fixes & Improvements:
    • Fixed local and global positioning.
    • Added selfPlacement capacity.
    • Simplified the INode interface.
    • Improved ClickableElement logic.
    • Nodes can now be retrieved by ID, group, or tag from INode instances.
  • Removals & Deprecations:
    • Removed Panel node.
    • Deprecated Slider node (pending fixes).
    • Removed the Graph node.

XML Overhaul

  • Additions:
    • Added tags:
      • layout and scrollableLayout.
      • easterEgg.
    • Added a version field.
    • Introduced a new template/component system:
      • Organize components into modules within the template tag using names.
      • Call components using the call tag with the component attribute.
      • Access components programmatically via GuiHelper.getComponent.
    • Introduced linking styles:
      • Use the link tag with the src attribute to load styles from /assets or absolute paths.
      • Combine multiple styles effortlessly.
  • Fixes:
    • Resolved schema tag order issues in the root (tag order no longer matters).
    • Added new error/warning messages.
  • Removals:
    • Removed bar and panel tags.

YAML Improvements

  • New Features:
    • Introduced a Textures system:
      • Declare textures and reuse them by ID.
    • Added new background display methods:
      • NINE_SLICE, STRETCH, TILE (credit: @Useless).
    • Enhanced selectors system:
      • Added direct parent [tag > tag] and common ancestor [tag ( tag].
      • Supported by .group, $id, and tag name selectors.
      • Selectors can now be combined.
    • Introduced specificity system for selectors.
  • Enhancements:
    • Improved sharedProperties field.
    • Enhanced hex color format support:
      • Formats: "#RRGGBB", "0xRRGGBB", or "RRGGBB".
    • Added selfPlacement for nodes to define their placement.
  • Removals:
    • Removed panelLengthX and panelLengthY.
    • Removed tileSize.
  • Additional Updates:
    • Added a version field.
    • Introduced new error/warning messages.

And many more changes I can’t remember, yay!


Acknowledgements

  • @UselessBullets:
    • Contributed the drawGuiTexture() function.
  • @Olypolyu:
    • Fixed issues, provided ideas, and contributed directly.

Dependencies

Files

builib-2.0.0pre3.jar(871.11 KiB) Primary Download

Project members

Garkatron

Member

Details

Licensed CC-BY-NC-4.0
Published 4 months ago
Updated 20 days ago