Getting Started
First Steps
Test your FMOD API installation and make your first audio calls
First Steps
Now that FMOD API is installed, let's test it and make your first audio calls.
🎵 Test FMOD Integration
Check Status
if (FMODAPI.isAvailable()) {
System.out.println("FMOD is ready!");
} else {
System.out.println("Using OpenAL fallback");
}
Play Test Sound
// Test with a simple event
boolean success = FMODAPI.playEventSimple("event:/test/sound", 0, 64, 0);
Monitor Debug Output
- Enable debug logging in config
- Check logs for FMOD initialization messages
- Verify bank loading status
⚙️ Basic Configuration
Access Configuration
Navigate to: Mods → FMOD API → Config
Setting | Description | Default |
---|---|---|
Enable FMOD Audio | Toggle FMOD system on/off | true |
Debug Logging | Enable detailed logging | false |
Max Sound Instances | Concurrent sound limit | 512 |
Custom FMOD Path | Manual library path | empty |
Verify Installation
- Go to Mods → FMOD API → Config
- Check that FMOD is enabled and detected
- If not detected, set custom path
- Look for initialization messages in logs
🔧 Quick Development Setup
Setting Up FMOD Studio
- Download FMOD Studio (free)
- Create project with your mod's sounds
- Build banks to your mod's resources
- Test in-game with FMOD API
Bank Organization
src/main/resources/assets/yourmod/sounds/fmod/
├── master.strings.bank # String data
├── master.bank # Master bank
├── vehicles.bank # Vehicle sounds
└── weapons.bank # Weapon sounds
Loading Banks
@Mod("yourmod")
public class YourMod {
@SubscribeEvent
public void onClientSetup(FMLClientSetupEvent event) {
// Load banks in order
FMODAPI.loadBankFromResource(YourMod.class,
"/assets/yourmod/sounds/fmod/master.strings.bank");
FMODAPI.loadBankFromResource(YourMod.class,
"/assets/yourmod/sounds/fmod/master.bank");
FMODAPI.loadBankFromResource(YourMod.class,
"/assets/yourmod/sounds/fmod/vehicles.bank");
}
}
✅ Automatic Features
These work without any code changes:
- ✅ Automatic pause/resume when pressing ESC
- ✅ Volume synchronization with Minecraft sliders
- ✅ 3D listener tracking follows player position
- ✅ Resource cleanup prevents memory leaks
🔍 Debug Information
Enable debug logging for detailed information:
// Check system status
System.out.println("FMOD Available: " + FMODAPI.isAvailable());
System.out.println("Active Instances: " + FMODAPI.getActiveInstanceCount());
System.out.println("Max Instances: " + FMODAPI.getMaxInstanceCount());
🚨 Common Issues
Sounds not playing
- Ensure banks are loaded successfully
- Check event names match FMOD Studio project
- Verify
FMODAPI.isAvailable()
returnstrue
Performance issues
- Reduce max instances if needed
- Use
playEventSimple()
for fire-and-forget sounds - Enable debug logging to monitor active instances
📚 Next Steps
Great job! You've successfully set up FMOD API. Here's what to explore next:
- 📖 Integration Guide - Learn about automatic Minecraft integration
- 🔧 Configuration Guide - Detailed configuration options
- 📝 API Reference - Complete method documentation
Ready to start building? The FMOD API handles all the complex integration automatically. Just focus on creating amazing audio experiences!