Quick Fix for Limbo Music Crash

The following small change deals with a strange background-music-related
crash. Wasn't this issue fixed for Jaitsu and Aether II? I'm not sure
what's the cause but I've added a check to prevent the NPE. Please deal
with this most robustly in the future.
This commit is contained in:
SenseiKiwi 2014-03-14 17:22:55 -04:00
parent 7e8fe10c7d
commit d1a2476a4e

View file

@ -218,24 +218,29 @@ public class EventHookContainer
public void playMusicForDim(World world) public void playMusicForDim(World world)
{ {
if(world.isRemote) if (world.isRemote)
{ {
SoundManager sndManager = FMLClientHandler.instance().getClient().sndManager; SoundManager sndManager = FMLClientHandler.instance().getClient().sndManager;
if(world.provider instanceof LimboProvider) // SenseiKiwi: I've added the following check as a quick fix for a reported crash.
{ // This needs to work without a hitch or we have to stop trying to replace the background music...
sndManager.sndSystem.stop("BgMusic"); if (sndManager != null && sndManager.sndSystem != null)
SoundPoolEntry soundPoolEntry = sndManager.soundPoolSounds.getRandomSoundFromSoundPool(mod_pocketDim.modid+":creepy"); {
if(soundPoolEntry!=null) if (world.provider instanceof LimboProvider)
{ {
sndManager.sndSystem.backgroundMusic("LimboMusic", soundPoolEntry.getSoundUrl(), soundPoolEntry.getSoundName(), false); sndManager.sndSystem.stop("BgMusic");
sndManager.sndSystem.play("LimboMusic"); SoundPoolEntry soundPoolEntry = sndManager.soundPoolSounds.getRandomSoundFromSoundPool(mod_pocketDim.modid+":creepy");
} if (soundPoolEntry != null)
} {
else if(!(world.provider instanceof LimboProvider)) sndManager.sndSystem.backgroundMusic("LimboMusic", soundPoolEntry.getSoundUrl(), soundPoolEntry.getSoundName(), false);
{ sndManager.sndSystem.play("LimboMusic");
sndManager.sndSystem.stop("LimboMusic"); }
} }
else if (!(world.provider instanceof LimboProvider))
{
sndManager.sndSystem.stop("LimboMusic");
}
}
} }
} }
} }