How flashyreese/sodium-extra works
Sodium Extra is a client-side Minecraft mod that adds configurable rendering, particle, interface, and debug-HUD options around Sodium. The player-facing workflow is to set options, which runtime hooks consult or apply while the game runs; loader entry points register the shared debug entries. Protected gameplay fog is a documented capability: server authorization involves a resource pack and Greenlight. The excerpts show representative hooks and configuration access, not every feature’s wiring, so uncertain links are omitted.
Main entry points: SodiumExtraGameOptions.java Game options · SodiumExtraClientMod.java Client mod services · client/fog Fog controls · mixin/fog Fog hooks
Components 18
Options and setup
- Client mod services
common/src/main/java/me/flashyreese/mods/sodiumextra/client/SodiumExtraClientMod.java - Game options
common/src/main/java/me/flashyreese/mods/sodiumextra/client/config/SodiumExtraGameOptions.java - Config file I/O
common/src/main/java/me/flashyreese/mods/sodiumextra/client/config/ConfigFileIO.java - Mixin options
common/src/main/java/net/caffeinemc/caffeineconfig/CaffeineConfig.java
Rendering features
- Fog controls
common/src/main/java/me/flashyreese/mods/sodiumextra/client/fog - Fog hooks
common/src/main/java/me/flashyreese/mods/sodiumextra/mixin/fog - Particle controls
common/src/main/java/me/flashyreese/mods/sodiumextra/mixin/particle - Render options
common/src/main/java/me/flashyreese/mods/sodiumextra/mixin/render - Other game hooks
common/src/main/java/me/flashyreese/mods/sodiumextra/mixin - Protected fog policy
common/src/main/java/me/flashyreese/mods/sodiumextra/client/config/SodiumExtraGameOptions.java
HUD and interface
- Debug HUD
common/src/main/java/me/flashyreese/mods/sodiumextra/client/gui - Toast filtering
common/src/main/java/me/flashyreese/mods/sodiumextra/client/util/ToastFilter.java
Loader integration
- Fabric initializer
fabric/src/main/java/me/flashyreese/mods/sodiumextra/SodiumExtraFabricClientModInitializer.java - NeoForge initializer
neoforge/src/main/java/me/flashyreese/mods/sodiumextra/SodiumExtraNeoForgeClientMod.java
Other components
- Player
- Minecraft client
- Server resource pack
- Greenlight
Connections 16
- Player → Minecraft client: plays
- Client mod services → Game options: loads options
- Game options → Config file I/O: persists settings
- Client mod services → Mixin options: builds mixin options
- Game options → Particle controls: controls particles
- Game options → Fog controls: configures fog
- Fog hooks → Fog controls: adjusts fog rendering
- Game options → Other game hooks: controls features
- Game options → Toast filtering: configures toast filters
- Minecraft client → Debug HUD: ticks and renders
- Fabric initializer → Client mod services: registers debug entries
- NeoForge initializer → Client mod services: registers debug entries
- Player → Game options: sets preferences
- Server resource pack → Protected fog policy: supplies policy
- Greenlight → Protected fog policy: authorizes controls
- Protected fog policy → Fog controls: permits protected changes