Fzzy Config

Fzzy Config

Mod

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

Client and server Game MechanicsLibraryManagementUtility

3.05M downloads
401 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

fzzy_config-0.6.6+1.21.3+neoforge

Changelog

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

Files

fzzy_config-0.6.6+1.21.3+neoforge.jar(1.94 MiB) Primary Download
fzzy_config-0.6.6+1.21.3+neoforge-sources.jar(593.2 KiB) Download

Project members

fzzyhmstrs

Member

Details

Licensed TDL M
Published a year ago
Updated 23 days ago