Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Fzzy Config

Fzzy Config

Config API with automatic GUIs, powerful validation options, server-client sync, and more!

6.14M
644
Game Mechanics
Library
AboutGalleryChangelogVersions
All versionsfzzy_config-0.6.0+1.20.1

fzzy_config-0.6.0+1.20.1

Download
Report

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.

  • ValidatedEntityAttribute is removed
  • Custom[Widgets] are moved from the internal widget package to the custom package
  • Several widgets and other classes have been deleted
  • PopupWidget has 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 CustomListWidget and the built-in implementation DynamicListWidget. 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 Searcher system for building simple search implementations from a collection of elements.
  • ValidatedPair and corresponding method ValidatedPair.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

  • Translatable now includes a prefix element. 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 override hasPrefix, prefix, and prefixKey as 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 ContextAction system 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
  • ValidatedField now has several helper methods for easily creating custom entries without needing to fully re-implement the base design.

LayoutWidget

  • LayoutWidget added, a generalization and improvement of the system in PopupWidget. 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 Pos system now implements Supplier
  • Overhauled the Decoration system, now Decorated, 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 TextureSet system 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 equals not 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

dependency-iconFabric Language Kotlinrequired
dependency-iconFabric APIrequired

Files

fzzy_config-0.6.0+1.20.1.jar(1.77 MiB) Primary
Download
fzzy_config-0.6.0+1.20.1-sources.jar(539.75 KiB)
Download

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Metadata

Release channel

Release

Version number

0.6.0+1.20.1

Loaders

Fabric Quilt

Game versions

1.20.1

Downloads

55289

Publication date

January 7, 2025 at 3:08 AM

Publisher

fzzyhmstrs

fzzyhmstrs

Member

Version ID

Modrinth is open source.

main@aaf125c

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.