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.22M
490
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 2 weeks ago
DescriptionGalleryChangelogVersions

Show all versions

1
2
13

fzzy_config-0.7.0+1.21.5

by fzzyhmstrs on May 27, 2025
Download

fzzy_config-0.7.0+1.21.3

by fzzyhmstrs on May 27, 2025
Download

fzzy_config-0.7.0+1.21

by fzzyhmstrs on May 27, 2025
Download

fzzy_config-0.7.0+1.20.1

by fzzyhmstrs on May 27, 2025
Download

fzzy_config-0.7.0+1.21.5+neoforge

by fzzyhmstrs on May 26, 2025
Download

fzzy_config-0.7.0+1.21.3+neoforge

by fzzyhmstrs on May 26, 2025
Download

fzzy_config-0.7.0+1.21+neoforge

by fzzyhmstrs on May 26, 2025
Download

fzzy_config-0.7.0+1.20.1+forge

by fzzyhmstrs on May 26, 2025
Download

Breaking changes in 0.7.0

  • ValidatedEnumMap is removed
  • Removed all methods and properties marked as Deprecated and for removal 0.7.0
    • SmallSpriteDecoration#<init>
    • SpriteDecorated#textureSet & textures is now a required override
    • SpriteDecoration#<init>
    • CustomButtonWidget#<init> & builder is now only non-override method for adding custom button
    • Removed ActiveButtonWidget
    • Removed TextlessActionWidget
    • DynamicListWidget.EntryPos and implementations made internal
    • PopupWidget position elements; LayoutWidget no longer inherits from the PopupWidget variant
    • Removed deprecated overrides of PopupController from PopupParentElement
    • SuggestionWindowListener and SuggestionWindowProvider moved out of internal sub-package
    • Removed ImmutableRelPos
    • RenderUtil#renderBlur
  • Throughout FzzyConfig Translatable.Result has been replaced with Translatable.ResultProvider. This affects EntrySearcher as well as Searcher.SearchContent

Additions

  • New Translatable.Name, Translatable.Desc, and Translatable.Prefix annotations for data generation of lang files
    • Corresponding ConfigApi.buildTranslations and ConfigApiJava.buildTranslations methods for hooking a config into a data generator
    • Also created a simple registered objects translation builder at ConfigApi.platform().buildRegistryTranslations Used for either RegistrySupplier objects built by a Registrar or Identifier used in a traditional registration system
  • Added ConfigScreenProvider, allowing for registering of custom screen implementations in place of the Fzzy Config built in
    • API Call registerScreenProvider added for registering your provider
  • afterClose event in PopupWidget
  • isPressed method in Relevant interface (which is used by FzzyKeybind and ValidatedKeybind), which allows for assertive checking for a key state, above the existing reactive response method relevant
  • Overhauled the error handling system in ValidationResult with a new ErrorEntry system and dramatically improved process flow for building complex errors and passing exceptions and other context information
    • Also introduced more functional methods like inmap, outmap, and bimap

Changes

  • Upgraded CustomMultilineTextWidget to handle click and hover events, as well as now implementing a custom MultilineText implementation
  • ValidatedField bails out of deserialization only on critical errors, now letting correction take its course more often
  • The Registrar system is no longer marked as experimental. Any further changes to the system will follow the standard released content deprecation and update system
  • Methods using the old error handling system of string lists are marked for removal 0.8.0
  • Slight improvements of overall memory footprint

Fixes

  • ConfigGroup.Pop properly pops multiple times if attached to one setting multiple times
  • Clicking off of a context menu into a slider properly updates the slider value
  • Search and Restore Defaults options in the context menu work again
  • ClickableTextWidget and CustomMultilineTextWidget now properly show hover events

fzzy_config-0.6.9+1.21.5

by fzzyhmstrs on Apr 9, 2025
Download

fzzy_config-0.6.9+1.21.3

by fzzyhmstrs on Apr 9, 2025
Download

fzzy_config-0.6.9+1.21

by fzzyhmstrs on Apr 9, 2025
Download

fzzy_config-0.6.9+1.20.1

by fzzyhmstrs on Apr 9, 2025
Download

fzzy_config-0.6.9+1.21.5+neoforge

by fzzyhmstrs on Apr 9, 2025
Download

fzzy_config-0.6.9+1.21.3+neoforge

by fzzyhmstrs on Apr 9, 2025
Download

fzzy_config-0.6.9+1.21+neoforge

by fzzyhmstrs on Apr 9, 2025
Download

fzzy_config-0.6.9+1.20.1+forge

by fzzyhmstrs on Apr 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

  • Improved average config load time by approx. 10%.

Changes

  • ValidatedKeybind now stores the keycode in the output file based on a string key, rather than the raw int; but it will still accept the raw int for up-conversion purposes or if the key falls outside the typical set of GLFW keys.
    • The format for the key is the same as the minecraft one with the key.[type] prefix removed (except for mouse buttons, those start with mouse.)
    • For example, page down is page.down versus the minecraft key.keyboard.page.down
    • And right click is mouse.right versus key.mouse.right
  • ValidatedTriState will now accept boolean inputs from the file, if a user accidentally uses true or false instead of the intended enum form "true" or "false"
  • "Excess" fields (fields that used to exist in a config but no longer do, for example) are now reported as deserialization errors and removed from the read file.

Fixes

  • Integer-type text-box number validation no longer accepts decimal inputs, and the text-box in general no longer accepts any characters except numbers, the minus sign, and decimal if it is a floating-point number.
  • Fixed the search passing text not dynamically updating based on current pass-fail state of the input test.
  • Validated Any now properly translates basic settings (again, don't know when this broke)
  • Fixed servers not properly parsing updates sent from the client, introduced in 0.6.7
  • Config screen managers are now properly invalidated on joining a new world (with potentially new config values to care about)
  • Narration of the search bar and search bar option buttons works better, and can recover better from being "interrupted"
  • Deserialization fixes:
    • Basic validation (plain fields) now properly report their errors, leading to a correction of the config file as needed.
    • ValidatedAny is now robust against changing the number of fields in the wrapped object. Previously adding fields and then trying to read the pre-existing config file would result in total failure for the object, reverting to defaults.

fzzy_config-0.6.8+1.21.5+neoforge

by fzzyhmstrs on Mar 29, 2025
Download

fzzy_config-0.6.8+1.21.5

by fzzyhmstrs on Mar 29, 2025
Download

fzzy_config-0.6.8+1.21.3

by fzzyhmstrs on Mar 29, 2025
Download

fzzy_config-0.6.8+1.21

by fzzyhmstrs on Mar 29, 2025
Download
1
2
13

Modrinth is open source.

app-ads@1633f40

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