How flashyreese/reeses-sodium-options works
Reese’s Sodium Options is a client-side replacement/options interface for Sodium. The main user workflow is opening the video-options screen, browsing tabbed option pages or searching, selecting and changing an option, then saving configuration. The tree also shows option-row actions, UI state, themes, Sodium mixins, and optional controller support. The README identifies the product but gives few runtime details; relationships below rely on the sampled source where available, so unsampled subsystem wiring is kept conservative.
Main entry points: SodiumVideoOptionsScreen.java Video options screen · OptionSearch.java Option search · SearchTextFieldWidget.java Search field · TabFrame.java Tab frame
Components 19
Options screen
- Video options screen
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/SodiumVideoOptionsScreen.java - Tab frame
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/frame/tab/TabFrame.java - Option rows
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/frame/option/OptionRowFactory.java - Option actions
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/frame/option/action/OptionActionButtonController.java - Screen UI state
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/state/OptionsScreenUiState.java
Option search
- Search field
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/search/SearchTextFieldWidget.java - Option search
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/search/OptionSearch.java - Search index
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/search/SearchIndex.java - Search session
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/search/SearchSession.java - Search results
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/state/SearchResultEntry.java
Sodium integration
- Sodium GUI mixin
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/mixin/sodium/MixinSodiumOptionsGUI.java - Sodium option mixin
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/mixin/sodium/MixinOption.java - Mod configuration
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/config/ReeseSodiumOptionsConfig.java - Controlify support
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/controlify/ReeseSodiumOptionsControlifyEntrypoint.java
UI infrastructure
- GUI themes
common/src/main/java/me/flashyreese/mods/reeses_sodium_options/client/gui/theme/GuiThemes.java
Other components
- Player
- Minecraft client
- Sodium options
- Configuration storage
Connections 18
- Player → Video options screen: opens
- Video options screen → Tab frame: displays tabs
- Video options screen → Screen UI state: updates state
- Tab frame → Option rows: shows options
- Search field → Option search: queries
- Option search → Search index: builds index
- Option search → Search session: starts session
- Search session → Search results: returns matches
- Search field → Screen UI state: updates results
- Video options screen → Configuration storage: writes settings
- Video options screen → Sodium options: uses options
- Sodium GUI mixin → Video options screen: hooks GUI
- Sodium option mixin → Sodium options: extends options
- Video options screen → GUI themes: renders with
- Controlify support → Search field: adapts input
- Option rows → Option actions: hosts actions
- Option search → Mod configuration: reads limits
- Video options screen → Minecraft client: uses client