MinecraftTransportSimulator (MTS) now features optional FMOD API integration that provides high-quality 3D spatial audio when the FMOD API mod is available, with automatic fallback to OpenAL when it's not installed.
- ✅ Optional Dependency: MTS works with or without FMOD API mod
- 🔄 Automatic Fallback: Seamlessly switches between FMOD and OpenAL
- 🎮 Native Integration: FMOD sounds pause with ESC menu and respect Minecraft volume
- 🎵 3D Spatial Audio: Immersive audio positioning when FMOD is available
- Install MTS mod only
- Enjoy standard OpenAL audio (original MTS experience)
- Install MTS mod (works without FMOD API)
- Download FMOD API mod from: https://github.com/alexiokay/fmod-API/blob/main/README.md
- Place FMOD API mod in your mods folder alongside MTS
- Enjoy enhanced 3D spatial audio with automatic Minecraft integration
Note: If FMOD API mod is not installed, MTS automatically uses OpenAL - no crashes or errors!
The system intelligently chooses the best available audio:
| FMOD API Mod | FMOD DLLs | Audio System | Features |
|---|---|---|---|
| ✅ Installed | ✅ Available | FMOD Studio | 3D audio + Minecraft integration |
| ✅ Installed | ❌ Missing | OpenAL | Standard audio (auto-fallback) |
| ❌ Not Installed | N/A | OpenAL | Standard audio (no dependencies) |
- Reflection-Based Loading: FMOD API loaded optionally via reflection
- No Hard Dependencies: MTS starts normally without FMOD API
- Automatic Bank Registration: MTS banks registered with FMOD API automatically
- Seamless Fallback: Individual sounds fall back to OpenAL if FMOD fails
Follow the installation guide at: https://github.com/alexiokay/fmod-API/blob/main/README.md
- Download FMOD Studio from https://www.fmod.com/download
- Create events in your project (e.g., "event:/vehicles/engine", "event:/weapons/explosion")
- Build banks to generate
.bankfiles - Follow FMOD API setup for bank installation
For bullets, add eventName to the bullet section:
{
"bullet": {
"diameter": 37.0,
"mass": 0.735,
"eventName": "explosion"
}
}For other entities, add eventName to existing sound definitions:
{
"sounds": [
{
"name": "engine_startup",
"eventName": "engine_start"
}
]
}- Check logs for FMOD integration status
- Test sounds - should have enhanced 3D positioning with FMOD
- Try without FMOD API - should still work with OpenAL
When FMOD API is installed, you get these automatic features:
- ESC Menu: All FMOD sounds pause instantly (<1ms)
- Return to Game: Sounds resume automatically
- Any Menu: Inventory, settings, etc. all pause FMOD audio
- Master Volume: Controls overall FMOD volume
- Sound Effects: Affects FMOD sound effects
- Music Volume: Affects FMOD music events
- Real-time: Changes apply immediately
- Player Position: Automatically tracked for 3D audio
- Player Rotation: Head direction affects audio positioning
- Player Movement: Velocity used for Doppler effects
- FMOD Available + EventName Present: Uses FMOD Studio event with 3D positioning
- FMOD Available + No EventName: Falls back to OpenAL
- FMOD Failed + EventName Present: Automatically falls back to OpenAL
- Any Sound: Uses original MTS OpenAL system
- No Errors: System works exactly as before FMOD integration
The system ensures only one audio method is used per sound event.
- No Enhanced Audio: Check if FMOD API mod is installed and FMOD DLLs are available
- Sounds Don't Pause: Verify FMOD API integration is working (check logs)
- Original Sound Only: FMOD may not be available, system falls back to OpenAL
- No Sound At All: Check JSON
eventNamematches FMOD Studio event exactly
- Check Logs: Look for "FMOD API mod detected" or "FMOD API mod not found"
- Verify Installation: Ensure FMOD API mod is in mods folder
- Test Basic Functionality: MTS should work even without FMOD API
- Check FMOD API Setup: Follow FMOD API documentation for DLL setup
[MTS] FMOD API mod detected and loaded successfully
[MTS] FMOD API mod not found - using OpenAL only
[MTS] Attempting to play FMOD event: 'explosion' at position: X,Y,Z
[MTS] FMOD successfully played event "explosion" at: X, Y, Z
[MTS] FMOD API failed to play event: explosion, falling back to OpenAL
- 🛡️ No Crashes: Works with or without FMOD API
- 🎮 Native Feel: FMOD sounds behave like Minecraft sounds
- 🔄 Automatic: No manual configuration needed
- ⚡ Performance: Minimal overhead, event-driven
- 📦 Simple Distribution: Don't need to bundle FMOD API
- 🔧 Easy Migration: Just add
eventNameto existing JSONs - 🧹 Clean Code: No manual FMOD management needed
- 🔮 Future-Proof: FMOD API handles all integration complexity
If you create custom FMOD banks beyond the default MTS banks:
- Follow FMOD API Documentation: For proper bank setup and loading
- Use FMOD API Registration: Banks should be registered with FMOD API mod
- Check Integration Guide: https://github.com/alexiokay/fmod-API/blob/main/README.md
- EventName Strategy: Only add
eventNamefor sounds that benefit from 3D positioning - Bank Management: Use FMOD API's automatic bank management
- Fallback Testing: Always test without FMOD API to ensure compatibility
- FMOD API Mod: https://github.com/alexiokay/fmod-API/blob/main/README.md
- FMOD Studio Download: https://www.fmod.com/download
- FMOD Documentation: https://www.fmod.com/docs
{
"bullet": {
"diameter": 37.0,
"mass": 0.735
}
}{
"bullet": {
"diameter": 37.0,
"mass": 0.735,
"eventName": "explosion"
}
}Result:
- ✅ With FMOD API: Enhanced 3D explosion audio
- ✅ Without FMOD API: Original OpenAL explosion audio
- ✅ Always works: No crashes or missing dependencies!
The system automatically handles everything else!