Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
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!

4.97M
566
Game Mechanics
Library

Compatibility

Minecraft: Java Edition

24w34a
1.21.x
1.20.4–1.20.6
1.20.1

Platforms

Fabric
Forge
NeoForge
Quilt

Supported environments

Client and server

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server
Donate on Ko-fi

Creators

fzzyhmstrs
fzzyhmstrs Member

Details

Licensed TDL M
Published last year
Updated last week
DescriptionGalleryChangelogVersions

Show all versions

1
2
3
4
13

fzzy_config-0.6.6+1.20.1+forge

by fzzyhmstrs on Mar 16, 2025
Download

Reminder of breaking changes in 0.6.x

  • 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. Deprecations scheduled for removal 0.7.0
  • As of 0.6.3, ActiveButtonWidget is unused and deprecated, marked for removal by 0.7.0
  • As of 0.6.3, TextlessActionWidget is unused and deprecated, marked for removal by 0.7.0
  • Possibly more, I didn't take great notes

As of 0.6.0, 1.20.4 and 1.20.6 will no longer be receiving active updates.


Additions

  • @RootConfig annotation for marking a config as a "root" config. The settings will appear "inline" with the landing page config buttons, instead of in its own sub-GUI. All other aspects of the config interaction remain unchanged; loading, saving, calling from, etc. so an existing config can be marked as root with no breakage.
  • Added a greyed-out placeholder button for configs that aren't yet loaded but have been promised via the fabric.mod.json or mods.toml.
  • New ConfigApi.isScreenOpen/ConfigApiJava.isSceenOpen methods for checking if a Config GUI is currently open.
  • DynamicListWidget has a new scrollToEntry method for scrolling directly to a list element.
  • ConfigApi.openScreen now supports passing in scope args for scrolling to them and opening them as applicable. If you have a config my_mod:config with a Object setting coolObject, passing my_mod.config.coolObject to openScreen will open the config GUI, scroll to the object setting, and open the object editing popup.
  • New EntryOpener interface for entries that have something to open on request. This is typically used for validation that has a popup edit menu.

Changes

  • The networking api methods registerLenient[side] are now ported to all versions for usage parity.
  • If a config is loaded after screens for a mod have been initialized, the manager will be invalidated and rebuilt (as needed) with the new total loaded config set considered.
  • ValidatedColor popups now have a submit button for the hex string textbox, and the alpha edit box will be completely missing if the color doesn't support transparency.

Fixes

  • GUI keys are no longer pressable "past" an open popup, and multiple of the same popup can no longer be opened with keybinds.
  • ConfigGroup now has an optional constructor parameter to start the config collapsed.
  • Ingredients and Colors now work as keys/values in validated collections.
    • Ingredients can no longer be interacted with outside of worlds.
  • The screen manager now locks while constructing a requested screen to prevent recursive screen building if the construction process somehow calls for opening the same screen.
  • ValidatedColor properly shows and accepts only 6-digit hex when it doesn't support transparency.
  • Popups for ValidatedIdentifier and ValidatedTagKey properly focus their textboxes on open again, and their textboxes are aligned properly again.
  • Fixed Go-to menu scroll bar disappearing if you were dragging it and moved the mouse off of the menu. The scrollbar disappearing when the menu isn't hovered is intended behavior.
  • Right click menus properly pass clicks "past" themselves, allowing actions to be taken when "clicking off" of them (including "moving" the menu to the newly clicked spot.)
  • Fixed sliders not capturing the change made if the mouse is released off of the slider itself.

fzzy_config-0.6.5-fix1+1.20.1+forge

by fzzyhmstrs on Mar 9, 2025
Download

Reminder of breaking changes in 0.6.x

  • 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. Deprecations scheduled for removal 0.7.0
  • As of 0.6.3, ActiveButtonWidget is unused and deprecated, marked for removal by 0.7.0
  • As of 0.6.3, TextlessActionWidget is unused and deprecated, marked for removal by 0.7.0
  • Possibly more, I didn't take great notes

As of 0.6.0, 1.20.4 and 1.20.6 will no longer be receiving active updates.


Additions

  • New registerLenientS2C and registerLenientC2S methods in the NetworkApi. These methods will be propagated to all versions of Fzzy Config in 0.6.6, though in most versions will have no behavior difference compared to registerS2C/C2S

Changes

  • Internal Fzzy Config packet registrations now register leniently.
  • NetworkApi.canSend now checks that one of it's registered methods can in fact send.

Fixes

  • Fixed clients without Fzzy Config being prevented from joining a server with it. Obviously configs will not be synced in this circumstance, FC will simply pretend that client doesn't exist. Mods that can allow this behavior should of course also handle this circumstance.

fzzy_config-0.6.5-fix1+1.21.3+neoforge

by fzzyhmstrs on Mar 9, 2025
Download

Reminder of breaking changes in 0.6.x

  • 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. Deprecations scheduled for removal 0.7.0
  • As of 0.6.3, ActiveButtonWidget is unused and deprecated, marked for removal by 0.7.0
  • As of 0.6.3, TextlessActionWidget is unused and deprecated, marked for removal by 0.7.0
  • Possibly more, I didn't take great notes

As of 0.6.0, 1.20.4 and 1.20.6 will no longer be receiving active updates.


Additions

  • None.

Changes

  • None.

Fixes

  • Fixed StackOverflow error when syncing configs on NeoForge 1.21.2+

fzzy_config-0.6.5+1.21.3

by fzzyhmstrs on Mar 6, 2025
Download

fzzy_config-0.6.5+1.21

by fzzyhmstrs on Mar 6, 2025
Download

fzzy_config-0.6.5+1.20.1

by fzzyhmstrs on Mar 6, 2025
Download

fzzy_config-0.6.5+1.21.3+neoforge

by fzzyhmstrs on Mar 6, 2025
Download

fzzy_config-0.6.5+1.21+neoforge

by fzzyhmstrs on Mar 6, 2025
Download

fzzy_config-0.6.5+1.20.1+forge

by fzzyhmstrs on Mar 6, 2025
Download

Reminder of breaking changes in 0.6.x

  • 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. Deprecations scheduled for removal 0.7.0
  • As of 0.6.3, ActiveButtonWidget is unused and deprecated, marked for removal by 0.7.0
  • As of 0.6.3, TextlessActionWidget is unused and deprecated, marked for removal by 0.7.0
  • Possibly more, I didn't take great notes

As of 0.6.0, 1.20.4 and 1.20.6 will no longer be receiving active updates.


Additions

  • Fzzy Config's wiki is now hosted with ModdedMC! Check it out:
    • Wiki Link Icon
  • Added WidgetEntry for easy creation of Dynamic Lists wrapping a collection of widgets.
  • New widget type SCROLLABLE for ValidatedChoiceList and ValidatedChoice which opens a scrollable and searchable widget list
  • ValidatedChoice now includes the INLINE widget type previously only available on the list version
  • ValidatedChoiceList now has its own decorator, distinguishing it from a normal list
  • Added new TriState utility enum and corresponding ValidatedTriState validation for configs. Like most tri-states, has TRUE, FALSE, and DEFAULT choices, and two different widget options for selecting between them.
  • Added a FzzyKeybind system that builds on the ContextType system introduced in 0.6.0.
    • Define basic or compound (multiple choice) keybinds with or without modifiers (ctrl, shift, alt)
    • ValidatedKeybind validation added for configurable keybind handling.
    • Keybinds still need to be handled by other Fzzy Config context handling methods, this is a structured method for setting up and configuring context types.
    • For a robust example, see Fzzy Configs built-in keybind config and ConfigScreen context handler that is used to handle GUI inputs.
  • Added wdithFunction and heightFunction to PopupWidget, allowing for dynamic sizing based on screen and previous dimension context.
  • Fzzy Config finally has its own config! keybinds.toml controls the inputs used for interacting with Config GUIs.

Changes

  • Registrar System: RegistrySupplier now implements RegistryEntry directly, as well as passing its reference entry. This includes a breaking experimental change, getKey has changed to getRegistryKey
  • Improved the narration of ValidatedChoice and ValidatedChoiceList
  • Improved the memory footprint of DynamicListWidget, deferring several allocations until needed
  • Shortened in-GUI changelogs related to Validated Object changes.
  • In-GUI usage information popup updated with a list widget and configurable keybind entries.
  • The Config GUI info screen has been updated with a list view of the GUI keybinds. These keybinds can be edited (and this list is secretly a custom config GUI for Fzzy Configs built-in Keybinds config)
  • ConfigScreenManager now caches config GUI templates incrementally, instead of front-loading all screen templates at once. This has some side effects, namely that each screen now has a separate Update Manager, so restoring defaults, reverting changes, etc. is now sectioned off per-config instead of global to the namespace. The "Root" screen update manager can see any loaded children managers, so changes can be managed from the root screen into any child screens that have been loaded and modified.

Fixes

  • Fixed done button on config screens saying "back" when they should say "done" in certain circumstances
  • Fixed ValidatedAny popup saying "Revert Changes" for both the revert and restore defaults button
  • Certain validation types now properly determine their default- and changed-state, namely Validated Objects.
  • ValidatedCondition now properly considers its conditions when determining default and changed states. A Validated Condition that has failed conditions will always be considered "default"
  • Fixed various typos and other content issues with some KDoc entries
  • ConfigScreenNarrator now properly strips out formatting codes before narrating the text content (this also affects the vanilla screen narrator)
  • Fixed ValidatedIdentifier config widgets not being properly navigable with keyboard.
  • (NeoForge) fixed network crash involving clients without Fzzy Config trying to join a server with it.
  • (1.20.1) fixed texture issue with the context and go-to menus.

fzzy_config-0.6.4+1.21.3

by fzzyhmstrs on Feb 1, 2025
Download

fzzy_config-0.6.4+1.21

by fzzyhmstrs on Feb 1, 2025
Download

fzzy_config-0.6.4+1.20.1

by fzzyhmstrs on Feb 1, 2025
Download

fzzy_config-0.6.4+1.21.3+neoforge

by fzzyhmstrs on Feb 1, 2025
Download

fzzy_config-0.6.4+1.21+neoforge

by fzzyhmstrs on Feb 1, 2025
Download

fzzy_config-0.6.4+1.20.1+forge

by fzzyhmstrs on Feb 1, 2025
Download

Reminder of breaking changes in 0.6.x

  • 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
  • As of 0.6.3, ActiveButtonWidget is unused and deprecated, marked for removal by 0.7.0
  • As of 0.6.3, TextlessActionWidget is unused and deprecated, marked for removal by 0.7.0
  • 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

  • New TextureProvider interface for generic provision of textures based on active/hovered state.
  • Single and Quad variants of TextureSet added for sets with one texture regardless of state, and sets with all four textures different, respectively.

Changes

  • TextureSet now implements the TextureProvider interface
  • CustomPressableWidget and therefore CustomButtonWidget now use TextureProvider instead of directly TextureSet in their implementations.
  • textureSet method of SpriteDecorated is now deprecated and defaulted, with a scheduled removal of 0.7.0.
    • SpriteDecoration and SmallSpriteDecoration constructors with TextureSet are likewise deprecated, with new overloads taking TextureProvider
  • The texture sets in TextureIds are now explicitly typed as TextureProvider instead.
  • Improved the lazy-loading and/or reduced duplicate loading of certain elements in lists and screens. This effort will expand in the future to further FCs goal of only ever loading a resource upon it being needed.
  • ValidatedChoiceList now shows highlights around "unselected" options to better indicate that they are still active button elements.

Fixes

  • Fixed ValidatedChoiceList popup widgets being too narrow for the popup with very short choice titles.
  • Remove stray dev-environment logging from LayoutWidget

fzzy_config-0.6.3+1.21.3

by fzzyhmstrs on Jan 24, 2025
Download

fzzy_config-0.6.3+1.21

by fzzyhmstrs on Jan 24, 2025
Download

fzzy_config-0.6.3+1.20.1

by fzzyhmstrs on Jan 24, 2025
Download

fzzy_config-0.6.3+1.21.3+neoforge

by fzzyhmstrs on Jan 24, 2025
Download

fzzy_config-0.6.3+1.21+neoforge

by fzzyhmstrs on Jan 24, 2025
Download
1
2
3
4
13

Modrinth is open source.

main@bf16d36

© 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.