Compatibility
Minecraft: Java Edition
1.21.x
1.20.4–1.20.6
1.20.1
Platforms
Supported environments
Creators
Details
Changelog
Version 0.6.0 implements several breaking changes, please update implementations as needed, and feel free to reach out to discuss issues that come up.
ValidatedEntityAttributeis removedCustom[Widgets]are moved from the internal widget package to the custom package- Several widgets and other classes have been deleted
PopupWidgethas many deprecations, and probably at least one breaking change despite my best efforts- Possibly more, I didn't take great notes
Registrar is still marked experimental with anticipated stability by 0.7.0
As of 0.6.0, 1.20.4 and 1.20.6 will no longer be receiving active updates.
Additions
- Created a ground-up list widget system with
CustomListWidgetand the built-in implementationDynamicListWidget. This new list is more powerful than the vanilla lists, allowing for varying heights for each element, hiding/unhiding individual entries, built in searching of entries, and more. - Created
Searchersystem for building simple search implementations from a collection of elements. ValidatedPairand corresponding methodValidatedPair.pairWith. This new validation joins two settings into one, and displays their widgets side-by-side. This is convenient for number ranges and so on.- Validated numbers now have a third widget type,
TEXTBOX_WITH_BUTTONS. The standard entrybox also has a small up and down button with this layout. - Added custom ScreenNarrator implementation for config screens with several improvements and bug fixes over the vanilla narrator.
Translatable Updates
Translatablenow includes aprefixelement. Add a lang key for a setting, section, or config to add inline "prefix text" that appears above the setting or at the top of the setting list, respectively. This pairs well with the next addition- For implementations of
Translatable, be sure to overridehasPrefix,prefix, andprefixKeyas needed.
Config Groups
- Added new Config Group system. Groups are inline, collapsible collections of settings. Groups are an excellent place to add a prefix, to provide a general description of what the settings inside the group do.
- Groups can be nested, though this is probably not needed in most circumstances
Screen Anchors
- Configs, Sections, and Groups are now Anchors, much like anchors in a web page.
- A new go-to menu in the bottom left (accessible by pressing Ctrl + E also) allows you to quickly navigate between all the anchors of the current config namespace.
Context Action System
- Created new keybind-like
ContextActionsystem that allows for powerful handling of context actions and key presses. - Automatically builds context menus as applicable to the right-clicked element.
- Handles complex keybinds like ctrl-shift-C, etc.
- Handles inputs in a layered manner, allowing each layer to only capture the inputs it cares about, passing the input
- Added several new keybinds
- F1: Opens info screen
- Ctrl + E: Opens goto menu
- Backspace: Return to the previous config screen
- Home: Scrolls to the top of the config list
- End: Scrolls to the bottom of the config list
- (Context menu): You can now fully clear collection settings with the Clear command.
EntryCreator
- New system for creating list entries in an orderly manner
ValidatedFieldnow has several helper methods for easily creating custom entries without needing to fully re-implement the base design.
LayoutWidget
LayoutWidgetadded, a generalization and improvement of the system inPopupWidget. This widget can be used to create automatically laid out collections of widgets using a DOM-like layout model.- Entry creators and several other systems in FC now use these layouts.
Changes
- The Result Provider API is promoted to stable
- The
Possystem now implementsSupplier - Overhauled the
Decorationsystem, nowDecorated, a simple Drawable-like interface that allows passing of different types of icons to various FC systems, dynamically rendered, animated, etc. - Most custom widget implementations now use a
TextureSetsystem for defining textures to use in various hovered and focused states
Fixes
- Fix apparent concurrent modification problem with screen scope registration.
- Moved catalogue compat back to somewhere that Catalogue can actually find it.
- Fix crash on suggestion windows trying to substring empty suggestions.
- Fix config objects that don't implement
equalsnot mapping properly between de/serializations, which improperly caused resets of data. - Fixed bug with update de/serialization not working properly on nested config sections
Dependencies
Files
Metadata
Release channel
ReleaseVersion number
0.6.0+1.20.1+forgeLoaders
Game versions
1.20.1Downloads
8982Publication date
January 7, 2025 at 2:57 AMPublisher
fzzyhmstrs
Member



