Breaking changes in 0.7.x
ValidatedEnumMapis removed- Removed all methods and properties marked as Deprecated and for removal 0.7.0
SmallSpriteDecoration#<init>SpriteDecorated#textureSet&texturesis now a required overrideSpriteDecoration#<init>CustomButtonWidget#<init>& builder is now only non-override method for adding custom button- Removed
ActiveButtonWidget - Removed
TextlessActionWidget DynamicListWidget.EntryPosand implementations madeinternalPopupWidgetposition elements;LayoutWidgetno longer inherits from the PopupWidget variant- Removed deprecated overrides of
PopupControllerfromPopupParentElement SuggestionWindowListenerandSuggestionWindowProvidermoved out ofinternalsub-package- Removed
ImmutableRelPos RenderUtil#renderBlur
- Throughout FzzyConfig
Translatable.Resulthas been replaced withTranslatable.ResultProvider. This affectsEntrySearcheras well asSearcher.SearchContent
Additions
ValidatedColorhas a new presets feature. These presets will be displayed in a "sub-pane" to the right of the main color popup.- There are pre-defined presets based on MC color enums, or you can define your own presets using
ValidatedColor#withColorPresets
- There are pre-defined presets based on MC color enums, or you can define your own presets using
- New
ValidatedNumber#setFormatextension function lets you define a customDecimalFormatfor your number settings - PopupWidgets can now have "child" layouts that appear as sub-panes either to the right or below the main popup.
- Create a child layout with a pair of
pushChildLayoutandpopChildLayoutin the Builder. - This child layout can have completely different spacing, padding, and so on.
- All the elements added to this child will be navigable alongside the main popup.
- Create a child layout with a pair of
Changes
- Configs marked with
SaveType.SEPARATEcan now be opened out of the world (if it's entries can be) without caring about permissions checking, because the clients version will be considered separately anyway - Deprecated the constructor of
LayoutWidgetin favor of a builder pattern. Migrate any custom LayoutWidget impls asap; removal scheduled for 0.8.0
Fixes
- (1.21.6+) the Changes widget now properly displays its number of changes
- (1.21.6+) popups properly blur the underlying screen content again
- Fixed
ValidatedConditionnot passing widget size changes to it's delegate widget
Breaking changes in 0.7.0
ValidatedEnumMapis removed- Removed all methods and properties marked as Deprecated and for removal 0.7.0
SmallSpriteDecoration#<init>SpriteDecorated#textureSet&texturesis now a required overrideSpriteDecoration#<init>CustomButtonWidget#<init>& builder is now only non-override method for adding custom button- Removed
ActiveButtonWidget - Removed
TextlessActionWidget DynamicListWidget.EntryPosand implementations madeinternalPopupWidgetposition elements;LayoutWidgetno longer inherits from the PopupWidget variant- Removed deprecated overrides of
PopupControllerfromPopupParentElement SuggestionWindowListenerandSuggestionWindowProvidermoved out ofinternalsub-package- Removed
ImmutableRelPos RenderUtil#renderBlur
- Throughout FzzyConfig
Translatable.Resulthas been replaced withTranslatable.ResultProvider. This affectsEntrySearcheras well asSearcher.SearchContent
Additions
- New
@IgnoreCommentsForDescannotation. Use on your config class to have the translation parser ignore@Commentand@TomlCommentfor in-game descriptions.
Changes
- Configs marked with
SaveType.SEPARATEcan now be opened out of the world (if it's entries can be) without caring about permissions checking, because the clients version will be considered separately anyway
Fixes
- Fixed issue with config parser incorrectly ignoring transients in certain cases
- Config GUI entries no longer show their tooltips from behind the header/footer
- Config groups now scroll correctly when collapsed/opened
- Fixed potential concurrency issue with config registration on Neoforge. All versions have the fix just in case.
- Expressions now print their constants properly in "plain" format (0.0000003) vs (3E-7) so they properly back-parse their printed version.
Breaking changes in 0.7.0
ValidatedEnumMapis removed- Removed all methods and properties marked as Deprecated and for removal 0.7.0
SmallSpriteDecoration#<init>SpriteDecorated#textureSet&texturesis now a required overrideSpriteDecoration#<init>CustomButtonWidget#<init>& builder is now only non-override method for adding custom button- Removed
ActiveButtonWidget - Removed
TextlessActionWidget DynamicListWidget.EntryPosand implementations madeinternalPopupWidgetposition elements;LayoutWidgetno longer inherits from the PopupWidget variant- Removed deprecated overrides of
PopupControllerfromPopupParentElement SuggestionWindowListenerandSuggestionWindowProvidermoved out ofinternalsub-package- Removed
ImmutableRelPos RenderUtil#renderBlur
- Throughout FzzyConfig
Translatable.Resulthas been replaced withTranslatable.ResultProvider. This affectsEntrySearcheras well asSearcher.SearchContent
Additions
- New
Translatable.Name,Translatable.Desc, andTranslatable.Prefixannotations for data generation of lang files- Corresponding
ConfigApi.buildTranslationsandConfigApiJava.buildTranslationsmethods for hooking a config into a data generator - Also created a simple registered objects translation builder at
ConfigApi.platform().buildRegistryTranslationsUsed for eitherRegistrySupplierobjects built by aRegistrarorIdentifierused in a traditional registration system
- Corresponding
- Added
ConfigScreenProvider, allowing for registering of custom screen implementations in place of the Fzzy Config built in- API Call
registerScreenProvideradded for registering your provider
- API Call
afterCloseevent inPopupWidgetisPressedmethod inRelevantinterface (which is used byFzzyKeybindandValidatedKeybind), which allows for assertive checking for a key state, above the existing reactive response methodrelevant- Overhauled the error handling system in
ValidationResultwith a newErrorEntrysystem and dramatically improved process flow for building complex errors and passing exceptions and other context information- Also introduced more functional methods like
inmap,outmap, andbimap
- Also introduced more functional methods like
Changes
- Upgraded
CustomMultilineTextWidgetto handle click and hover events, as well as now implementing a customMultilineTextimplementation ValidatedFieldbails out of deserialization only on critical errors, now letting correction take its course more often- The
Registrarsystem 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.Popproperly 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
ClickableTextWidgetandCustomMultilineTextWidgetnow properly show hover events
Stupid semantic versioning... now the fix should work with mods that add dependencies to "0.7.0+1.21.6" specifically


