Перейти к содержимому
Mineforgian

Fzzy Config

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

Загрузки
29.4M
Подписчики
1K
Обновлён
16 июня 2026 г.
Лицензия
TDL-M

Опубликован 19 апреля 2024 г.

Main Banner

Fzzy Config is a powerful multi-loader configuration engine for Minecraft Mods that meets you where you want to be. Quick and dirty or detailed and featureful, Fzzy Config will work with you. It provides a wide array of features above and beyond what you can find in other libraries.

The Basics

  • Automatic serialization to TOML.
  • Minimal API with lightweight integration requirements

GUIs

  • Automatic GUI generation based on the layout and content of your config files.
  • Screens are fully keyboard-navigable and narratable out of the box.
    • Fully vetted and tested by a visually impaired member of the modding community.
  • No need for screen builders or registration.
  • ModMenu and Catalogue automatically integrated.

Synchronization

  • Automatic server-client sync.
  • Push live updates to a server from a client.
  • Forward client settings to other users who want your setup.

Validation

  • Validation and Correction built into everything, beyond just primitive types.
  • Tightly control what values a player can choose from and how they choose them.
  • Automatic suggestions for settings like tags and identifiers.

Updates

  • Versioned updates supported with one simple method implementation.
  • Scrape previous configs to easily update from another config library.

Flexibility

  • Implement a config with as little or much effort as you want.
  • Plain java/kotlin object, or Minecraft GameOptions-like carefully crafted settings.
  • Seamless multi-loader support. Use the same API on Fabric and Forge; including a lightweight mutli-loader Networking API!

Bisect Hosting Banner

Ченджлог

0.7.6+26.2Релиз26.2 · 16 июня 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip
0.7.6+26.2+neoforgeРелиз26.2 · 16 июня 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip
0.7.6+26.1Релиз26.1, 26.1.1, 26.1.2 · 24 марта 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip
0.7.6+26.1+neoforgeРелиз26.1, 26.1.1, 26.1.2 · 24 марта 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip
0.7.6+1.21.11Релиз1.21.11 · 3 февраля 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip
0.7.6+1.21.9Релиз1.21.9, 1.21.10 · 3 февраля 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip
0.7.6+1.21.6Релиз1.21.6, 1.21.7, 1.21.8 · 3 февраля 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip
0.7.6+1.21.5Релиз1.21.5 · 3 февраля 2026 г.

Breaking changes in 0.7.x

  • 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

  • Various documentation updates for the Provider systems, including a wiki update

Changes

  • ValidatedField.translationProvider, ValidatedField.descriptionProvider, ValidatedField.attachProvider, and the associated Provider types are now static (as well as instance methods) so java users won't have to call .Companion. anymore (but can)

Fixes

  • Deprecated settings are properly read in from file for handling. They are still ignored in network traffic.
  • The options in ValidatedChoiceList and similar settings with an "inline" widget layout now properly show the tooltip for the individual options as well as the settings overall tooltip

Комментарии

Загружаем…