[1.21.10] Configuration API Overhaul
Primarly this PR attempts to resolve various pain points found or head of when working with owo-config:
- [x] Better handling for various Data types that are commonly used (Supported Types below)
- [x] Adjust current builder functions that other users of the lib can use to remove the need for reflection on field directly
- [x] Add ability for different constraints for apply and input
- [x] Adjust sliders for changes that chyz desired
- [x] Config Sync
- [x] Inform server of changes that any client makes when connected to the server
- [x] Inform server of current connecting clients config values
- [x] Server Config Management
- [x] Ability to open server config if the given user has OP privilege's
- [x] Allow for the ability to reload server config from command
- [x] Multiple Configs under one given Mod
- [x] Pull changes from Chyz dealing with Sliders to allow for more customizability
- [x] UI Rework
- [x] Wrapping option labels to prevent them from being unreadable if too long
- [x] Adjust the slide out section selection to be an overlay instead of part of the primary config layout
- [x] Support Config switching similar to Create New World Screen top bar
- [x] Development Translation Key Utilities's
- [x] Print out the entire configs worth of translations with the current existing translations filled in
- [x] Ability to dump individual missing translations
- [ ] Make custom font for better looking clipboard
Supported Types:
- [x] All Numbers (Integers and Floats)
- [x] String
- [x] Struct*
- [x] Record
- [x] Collections
- [x] List
- [x] String
- [x] Identifier
- [x] Numbers
- [x] Struct
- [x] Record
- [x] Set
- [x] String
- [x] Identifier
- [x] Numbers
- [x] Struct
- [x] Record
- [x] Map
- [x] Identifier - Identifier
- [x] Identifier - String
- [x] Identifier - Number
- [x] Identifier - Enum
- [x] String - Identifier
- [x] String - String
- [x] String - Number
- [x] String - Enum
- [x] Number - Identifier
- [x] Number - String
- [x] Number - Number
- [x] Number - Enum
- [x] List
Despite missing the last task (Make custom font for better looking clipboard), do you think this is ready for review? Might make the overall review process faster in case changes are needed
Despite missing the last task (Make custom font for better looking clipboard), do you think this is ready for review? Might make the overall review process faster in case changes are needed
Overall, it's ready for initial reviews by people, as the reason for it being a draft is that when I opened the PR, I still needed to add some changes. I also planned to wait for glisco to do an initial review of the changes, as I felt they may have some issues with the changes.