Port to 1.20.5; this also includes a relatively large amount of maintenance changes - reviewing each commit individually is strongly recommended
Note that despite 1.20.5 adding data components, armor stands do not use a custom data component, but instead continue to piggy-back off of the existing CUSTOM_DATA component.
This is being done for compatibility with vanilla clients, as clients will simply disconnect (with a vague disconnect message that doesn't help with determining the actual cause) if they receive an item stack with an unrecognized data component, whereas Fabric API will simply prevent a client from connecting without the mod being installed on the client as well.
The networking changes made in this PR as a result of the relevant changes in Fabric API also results in this partially superseding #178, although it remains relevant for older versions if they receive any updates.
Notable changes
(I'm so sorry for this basically being an entire release changelog on its own)
Float configuration keys will now clamp the loaded value instead of simply resetting it if the value is out of bounds
This is aimed at being a bit more user-friendly when min/max values are modified, such as with the recent max breast size reduction
The player paper doll can no longer overlap with the GUI
This is primarily aimed at cosmetics from mods like Essential, such as their wing cosmetics, which are much wider than the standard player model
Hurt sounds are now entirely client-sided for all players, not just the client player
As it turns out, Fabric API does much stricter registry syncing than I expected when I initially changed this in #132, including requiring even the sound event registry to be synced, which is obviously undesirable here.
Note that this was originally done this way due to syncing issues on dedicated servers, which were resolved in #141.
Default bounce multiplier has been slightly reduced to bring it back to 100%, removing the >100% warning message at default values.
Maintenance changes
Properly split the client and common mod initializer classes
Supersedes #162
Rework configuration handling to reduce code duplication between the Configuration classes, and move config file read into the task created by WildfireGender#loadGenderInfo
Breast model boxes which don't need to be resized are now static final instead of being re-created for each renderer instance
Port to 1.20.5; this also includes a relatively large amount of maintenance changes - reviewing each commit individually is strongly recommended
Note that despite 1.20.5 adding data components, armor stands do not use a custom data component, but instead continue to piggy-back off of the existing
CUSTOM_DATA
component.This is being done for compatibility with vanilla clients, as clients will simply disconnect (with a vague disconnect message that doesn't help with determining the actual cause) if they receive an item stack with an unrecognized data component, whereas Fabric API will simply prevent a client from connecting without the mod being installed on the client as well.
The networking changes made in this PR as a result of the relevant changes in Fabric API also results in this partially superseding #178, although it remains relevant for older versions if they receive any updates.
Notable changes
(I'm so sorry for this basically being an entire release changelog on its own)$minecraft-$mod
to$mod+minecraft
(parity with https://github.com/WildfireRomeo/WildfireFemaleGenderMod/commit/aa55cbe5284b26bc7d62d7f9111bf7f9ccb5757d)Maintenance changes
Configuration
classes, and move config file read into the task created byWildfireGender#loadGenderInfo
static final
instead of being re-created for each renderer instance