Skip to content

Conversation

Dragon-Seeker
Copy link
Member

@Dragon-Seeker Dragon-Seeker commented Aug 2, 2025

Primarly this PR attempts to resolve various pain points found or head of when working with owo-config:

  • Better handling for various Data types that are commonly used (Supported Types below)
  • Adjust current builder functions that other users of the lib can use to remove the need for reflection on field directly
  • Add ability for different constraints for apply and input
  • Adjust sliders for changes that chyz desired
  • Config Sync
    • Inform server of changes that any client makes when connected to the server
    • Inform server of current connecting clients config values
  • Server Config Management
    • Ability to open server config if the given user has OP privilege's
    • Allow for the ability to reload server config from command
  • Multiple Configs under one given Mod
  • Pull changes from Chyz dealing with Sliders to allow for more customizability
  • UI Rework
    • Wrapping option labels to prevent them from being unreadable if too long
    • Adjust the slide out section selection to be an overlay instead of part of the primary config layout
    • Support Config switching similar to Create New World Screen top bar
  • Development Translation Key Utilities's
    • Print out the entire configs worth of translations with the current existing translations filled in
    • Ability to dump individual missing translations
      • Make custom font for better looking clipboard

Supported Types:

  • All Numbers (Integers and Floats)
  • String
  • Struct*
  • Record
  • Collections
    • List
      • String
      • Identifier
      • Numbers
      • Struct
      • Record
    • Set
      • String
      • Identifier
      • Numbers
      • Struct
      • Record
    • Map
      • Identifier - Identifier
      • Identifier - String
      • Identifier - Number
      • Identifier - Enum
      • String - Identifier
      • String - String
      • String - Number
      • String - Enum
      • Number - Identifier
      • Number - String
      • Number - Number
      • Number - Enum

- More supported types
- Better config Sync
- Server Config Management
- Ability to handle more than one config instance
- Slider Adjustments from Chyz
- Adjust how section headers are on the side
- Ability to switch between config instances
- Simple utility to copy translation key for missing translation in config
- Rework underling code to handle other types of objects and give better access to customize certain option calls without reflection

# Conflicts:
#	src/main/java/io/wispforest/owo/Owo.java
#	src/main/java/io/wispforest/owo/client/OwoClient.java
#	src/main/java/io/wispforest/owo/config/ConfigWrapper.java
#	src/main/java/io/wispforest/owo/config/ui/ConfigScreen.java
#	src/main/java/io/wispforest/owo/config/ui/ConfigScreenProviders.java
#	src/main/java/io/wispforest/owo/ui/base/BaseParentComponent.java
#	src/main/java/io/wispforest/owo/ui/component/LabelComponent.java
#	src/main/java/io/wispforest/owo/ui/container/Containers.java
#	src/main/java/io/wispforest/owo/ui/container/ScrollContainer.java
#	src/main/java/io/wispforest/owo/ui/core/OwoUIDrawContext.java
#	src/main/java/io/wispforest/owo/ui/core/Surface.java
#	src/main/java/io/wispforest/owo/ui/util/MatrixStackTransformer.java
#	src/main/resources/owo.accesswidener
#	src/testmod/java/io/wispforest/uwu/client/SelectUwuScreenScreen.java
…tation access

- Update Config Constraints to allow for different ones for input and apply
- Add proper way of dumping translation data using `ConfigTranslationHelper`
- Rework option annotation access around `AnnotatedElement`
…a `ToggleButton`

� Conflicts:
�	src/main/java/io/wispforest/owo/ui/component/ButtonComponent.java
�	src/main/java/io/wispforest/owo/ui/core/OwoUIDrawContext.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant