GUI Tools

Published by Maeestry on
Tags / plugin type
Java plugin
QOL improvements
Supported MCreator versions
2026.1
2026.2
GUI Tools Icon
Downloads:
948
Upvotes: 13

ALWAYS MAKE BACKUP!!

GUI Tools

GUI Tools expands the GUI editor in MCreator with additional components and editing features designed to make interface creation faster, more precise, and less frustrating.

Multiline Text Labels

Adds a multiline text label component with support for manual line breaks and automatic word wrapping. The label width controls the wrapping area, while text can continue beyond the defined height without being clipped.

Text labels support custom text colors, optional shadows, and adjustable font scaling from 50% to 200%. Their width and height can be changed directly inside the GUI editor.


Sized Text Label

Sized Text Label is a single-line label where long values can remain visible, be clipped at the component boundary, or be shortened with an ellipsis.

Enhanced Image Buttons

Enhanced Image Buttons allow separate textures to be assigned for normal, hovered, and pressed states.

The button can also display optional text with its own color, shadow, and font scale settings.


Dynamic Image

Dynamic Image displays a GUI texture selected by a procedure. A static texture can be used as the editor preview and as a fallback.

Number procedures can change the image position and control its visible width and height at runtime.

Visual Component Resizing

Supported components can be resized directly with the mouse instead of entering width and height values manually.

Right-click while positioning a new supported component to change its size. Existing supported components can be resized after selecting the move tool.


Item Display

Item Display renders an ItemStack without creating an inventory or container slot. The component supports item count, tooltips, display conditions, scaling from 100% to 400%, and an optional silhouette mask with its own reveal condition. Its ItemStack can be changed and read at runtime through GUI Tools procedure blocks.

Smart Snapping

Components can automatically snap to the edges and centers of other GUI elements.

The feature can be enabled or disabled independently from MCreator's grid snapping option through Snap components to elements and guides. Holding Alt temporarily bypasses smart snapping while moving components.

Quick Properties

A Quick Properties panel is displayed below the component list.

It provides immediate access to the selected component's name, X and Y position, width, height, and locked state. Values update live while components are moved or resized.

Multiple Component Selection

Hold Ctrl and click components to add or remove them from the current selection.

Selected components can be moved together as a group.

Alignment and Distribution

GUI Tools adds controls for aligning multiple selected components to their left, right, top, bottom, horizontal center, or vertical center.

Components can also be distributed with equal horizontal or vertical spacing, making structured layouts considerably easier to create.

Copy, Paste, and Duplication

Components can be copied with Ctrl + C, pasted with Ctrl + V, and duplicated with Ctrl + D. Components can be also pasted to another GUI.


Undo and Redo

The GUI editor receives its own undo and redo history with up to 20 saved states per editor.

Use Ctrl + Z to undo changes. Use Ctrl + Y or Ctrl + Shift + Z to redo them.

Keyboard Controls

Arrow keys move selected components by one pixel.

Shift + Arrow keys moves them by five pixels.

Ctrl + Arrow keys resizes supported components by one pixel.

Ctrl + Shift + Arrow keys resizes them by five pixels.

The Delete key removes the current selection.

New Procedures

New Procedure lets you pick image depending on conditions.


Minecraft GUI scale preview

The editor includes selectable screen resolutions and Auto or manual GUI scales from 1 to 4. The preview reproduces the way Minecraft scales the GUI for the selected window size while keeping all saved component coordinates and dimensions unchanged.

Overlay anchors

Components used in overlays can be attached to nine screen anchor positions. Anchored layouts adapt to different resolutions and GUI scales while preserving the configured offsets and spacing between selected elements.

Compatibility

GUI Tools 1.7.2 supports MCreator 2026.1.

Generated game code supports NeoForge 1.21.1 and NeoForge 1.21.8.

GUI Tools 1.8.18 supports MCreator 2026.2.

Generated game code supports NeoForge 1.21.1 and NeoForge 26.1.

Java plugins must be enabled in MCreator.

Development

GUI Tools was designed and tested by Maeestry. AI-assisted development was used during implementation, debugging, code review, and compatibility testing.

Changelog:

Version 1.1.1:

  • Fixed Enhanced Image Button click procedures being inserted into the wrong section of the generated network message class.
  • Fixed compilation errors occurring in GUIs containing an Enhanced Image Button with an assigned On click procedure.

Version 1.2.5:

  • Added the new Dynamic Image GUI component.
  • Added GUI image and Return GUI image procedure blocks.
  • Added a separate GUI Tools category to the procedure editor.
  • Added texture previews directly inside GUI image procedure blocks.
  • Added texture thumbnails to the GUI image selection window.
  • Added Toggle pressed texture on click to Enhanced Image Button.
  • Added Ctrl + C and Ctrl + V working reliably between different GUI editors.
  • Fixed GUI image procedure blocks occasionally preventing the procedure editor from opening.
  • Fixed slow procedure editor loading caused by the custom texture selector.

Version 1.2.7:

  • Added local variable for images.
  • Fixed long saving procedures.
  • Fixed advanced tab being cumulated to one position.

Version 1.3.0:

  • Added ability to change image by procedure in Enhanced Image Button for normal, hover and click separately.
  • Fixed font of Multiline text to behave more like Minecraft font (spaces between letters and rows were adjusted).

Version 1.5.7:

  • Added support to MCreator 2026.2 (Neoforge 1.21.1 and 26.1)
  • Added editable component names to the Quick Properties panel to easier distinct elements from each other.
  • Added Overlay support for Multiline Text, Dynamic Image and Enhanced Image Button.
  • Improved the Multiline Text preview inside the MCreator GUI editor.
    • Text height and line spacing now more closely match the Minecraft render.
    • Character spacing has been adjusted to better match Minecraft’s font width.
    • Text wrapping in the editor now occurs much closer to the same position as in-game.
  • Overlay component dialogs now hide options that cannot work in an Overlay.

Version 1.7.2:

  • Updated custom component code generation for compatibility with both supported NeoForge generators.
  • Improved overlay support for Dynamic Images, Multiline Text Labels, and Enhanced Image Buttons.
  • Added optional procedures for dynamically changing the position of Dynamic Images.
  • Added procedures for controlling the visible width and height of Dynamic Images.
  • Improved the default size of custom component configuration windows.
  • Configuration windows now adapt to their content and available screen space.
  • Added scrolling when all settings cannot fit on the screen.
  • Added anchor support to overlay components. Elements can now remain attached to a selected part of the screen when the resolution or GUI scale changes.
  • Multiple selected elements can receive the same anchor while preserving their relative layout.
  • Redesigned the GUI editor sidebar to provide more space for the component list.
  • Added a draggable divider between the component list and settings.
  • Increased the sidebar width.
  • Image layers now follow their order in the component list.
  • Fixed transparency rendering for images on NeoForge 1.21.1.
  • Fixed layer ordering between standard Images, Sprites, Dynamic Images, and Enhanced Image Buttons.
  • Fixed custom components not being generated correctly in overlays.

Version 1.8.18:

  • Added a separate GUI Tools component bar to distinguish plugin components from MCreator's built-in elements and display the currently loaded plugin version.
  • Added per-component preview visibility controls. Elements can be hidden in the editor preview without changing their saved or in-game visibility.
  • Added a Minecraft-style GUI scale preview directly to the GUI editor.
  • Added selectable preview screen resolutions and Auto or manual GUI scales from 1 to 4.
  • Added the Sized Text Label component with Visible, Clip, and Ellipsis overflow modes.
  • Added an optional tooltip that displays the complete Sized Text Label value when clipping or ellipsis hides part of it.
  • Added left, right, center, and justified alignment to Multiline Text Labels.
  • Added Visible and Clip overflow modes to Multiline Text Labels.
  • Added runtime Name / ID support to Sized Text Labels and Multiline Text Labels.
  • Added procedure blocks for changing Sized Text Label and Multiline Text Label text by Name / ID while a GUI is open.
  • Added the Item Display component for rendering an ItemStack without creating an inventory or container slot.
  • Item Display works in GUIs with slots disabled and supports display conditions, item count, tooltips, and an optional silhouette mask with a reveal condition.
  • Added Item Display scaling from 100% to 400% in 50% steps.
  • Added a synchronized procedure block for changing the ItemStack stored in an Item Display.
  • Added a procedure block for reading the current ItemStack from an Item Display.
  • Dynamic Images and Enhanced Image Buttons now automatically use the dimensions of a newly selected texture while preserving manually configured dimensions until the texture is changed again.
  • Fixed bugs related to group moving elements.

 

License
MIT License
Plugin downloads
(MCreator 2026.1 - Neoforge 1.21.1 & 1.21.8) - gui-tools-mcreator-2026.1-1.7.2.zip Uploaded on: 09/12/2026 - 16:51   File size: 149.1 KB
(MCreator 2026.2 - Neoforge 1.21.1 & 26.1) - gui-tools-mcreator-2026.2-1.8.18.zip Uploaded on: 10/13/2026 - 19:52   File size: 252.08 KB

Comments

Very useful plugin-thanks for it

I think it would also be good to add text centering and undecorated text input fields

There's a feature that disables the rendering of a button's background. I'd like to see something similar for text input fields. It would hide the input field itself but still allow users to type text.

9-slice scaling (also called "nine-patch") splits an image into a 3×3 grid using four cut lines:

Corners stay exactly as they are and are never scaled.
Edges stretch (or repeat) in one direction only: top and bottom horizontally, left and right vertically.
Center fills the remaining space in both directions.

Parts where stretching looks bad (corners, borders, bevels, rounded edges) stay crisp, and only plain areas grow. That's why a 20×20 button texture can become a 200×20 button without a thick, blurry border.

It works for any element with a border and a plain inside: buttons, panels, window frames, tooltips, text boxes, and progress-bar backgrounds.

In Minecraft, since 1.20.2, GUI sprites (in textures/gui/sprites/) can declare this in their .mcmeta file using the scaling types stretch, tile, or nine_slice plus a border width. Vanilla uses it for its own buttons.

Theres a problem with transparent images (in game they don't appear as transparent) and the layering of sprites and normal images are always rendered behind dynamic images and enhanced image buttons