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

SettingDescriptionDefault
Enable FMOD AudioToggle FMOD system on/offtrue
Debug LoggingEnable detailed loggingfalse
Max Sound InstancesConcurrent sound limit512
Custom FMOD PathManual library pathempty

Verify Installation

  1. Go to Mods → FMOD API → Config
  2. Check that FMOD is enabled and detected
  3. If not detected, set custom path
  4. Look for initialization messages in logs

🔧 Quick Development Setup

Setting Up FMOD Studio

  1. Download FMOD Studio (free)
  2. Create project with your mod's sounds
  3. Build banks to your mod's resources
  4. 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() returns true

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:

Ready to start building? The FMOD API handles all the complex integration automatically. Just focus on creating amazing audio experiences!

FMOD API for Minecraft © 2025 alexiokay • Audio powered by FMOD Studio by Firelight Technologies Pty Ltd