How henkelmax/sound-physics-remastered works
Sound Physics Remastered is a Minecraft client mod that alters sound playback using block-aware attenuation, absorption, and reverberation. Its main workflow is to intercept sound processing, evaluate the sound’s environment against the client world, and apply the resulting filters and reverb sends through the audio engine. Configuration controls acoustic behavior and block material properties; optional branches provide debug ray rendering and Simple Voice Chat integration. The excerpts establish core processing and world-cache behavior, but do not expose every mixin or integration call site.
Main entry points: SoundPhysics.java Sound Processor · ClientLevelMixin.java Level Hooks · LevelAccessUtils.java Level Cache Access · SoundSystemMixin.java Sound Hooks
Components 17
Game Hooks
- Sound Hooks
common/src/main/java/com/sonicether/soundphysics/mixin/SoundSystemMixin.java - Level Hooks
common/src/main/java/com/sonicether/soundphysics/mixin/ClientLevelMixin.java - Login Hook
common/src/main/java/com/sonicether/soundphysics/mixin/ClientPacketListenerMixin.java
Acoustic Processing
- Sound Processor
common/src/main/java/com/sonicether/soundphysics/SoundPhysics.java - Ray Casting
common/src/main/java/com/sonicether/soundphysics/utils/RaycastUtils.java - Ray Debug Renderer
common/src/main/java/com/sonicether/soundphysics/debug/RaycastRenderer.java - Sound Rate Limits
common/src/main/java/com/sonicether/soundphysics/utils/SoundRateManager.java
World Sampling
- Level Cache Access
common/src/main/java/com/sonicether/soundphysics/utils/LevelAccessUtils.java - Cloned Client Level
common/src/main/java/com/sonicether/soundphysics/world/ClonedClientLevel.java - Level Proxy
common/src/main/java/com/sonicether/soundphysics/world/ClientLevelProxy.java
Settings and Integrations
- Sound Configuration
common/src/main/java/com/sonicether/soundphysics/config/SoundPhysicsConfig.java - Block Reflectivity
common/src/main/java/com/sonicether/soundphysics/config/ReflectivityConfig.java - Occlusion Settings
common/src/main/java/com/sonicether/soundphysics/config/OcclusionConfig.java - Reverb Parameters
common/src/main/java/com/sonicether/soundphysics/config/ReverbParams.java - Voice Chat Adapter
common/src/main/java/com/sonicether/soundphysics/integration/voicechat/SimpleVoiceChatPlugin.java
Other components
- Minecraft Client
- Audio Engine
Connections 17
- Minecraft Client → Sound Hooks: dispatches playback
- Sound Hooks → Sound Processor: processes sound
- Minecraft Client → Level Hooks: ticks level
- Level Hooks → Level Cache Access: updates cache
- Level Hooks → Sound Rate Limits: resets counts
- Login Hook → Level Cache Access: loads level
- Sound Processor → Ray Casting: casts rays
- Sound Processor → Sound Rate Limits: checks limit
- Sound Processor → Ray Debug Renderer: records debug rays
- Sound Processor → Sound Configuration: reads settings
- Sound Processor → Block Reflectivity: reads block values
- Sound Processor → Occlusion Settings: uses thresholds
- Sound Processor → Reverb Parameters: builds reverb
- Level Cache Access → Cloned Client Level: creates snapshot
- Cloned Client Level → Level Proxy: implements access
- Sound Processor → Audio Engine: sets filters
- Voice Chat Adapter → Sound Processor: integrates audio