feat: experiment with a custom config system #97
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Now this one is very experimental. It's built on #96, since that's what sparked the change, though that'll probably be merged into main before this one gets merged. It's a small-ish reflection based JSON config library, that automatically builds a config screen. It takes a weird mix of ideas from Quilt Config, YACL and a few others. I definitely like the GUI a lot, and the annotation DSL is also really nice. The glue code in between get's a little bit messy though, because of Java generics and type erasure.
It's a lot lot lighter than others like Cloth Config and YACL, so this one can easily be JiJ'd into mods (though right now it's just in the source tree of Scribble itself). I feel like it also just fits the vibe of Scribble more, it's always been jarring to me how 'modded' the config menu felt in comparison to Scribble itself, and this feels a lot more vanilla.
I'm not sure where this PR will go, we'll see!