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:
parent
7e8fe10c7d
commit
d1a2476a4e
1 changed files with 20 additions and 15 deletions
|
@ -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...
|
||||||
|
if (sndManager != null && sndManager.sndSystem != null)
|
||||||
|
{
|
||||||
|
if (world.provider instanceof LimboProvider)
|
||||||
{
|
{
|
||||||
sndManager.sndSystem.stop("BgMusic");
|
sndManager.sndSystem.stop("BgMusic");
|
||||||
SoundPoolEntry soundPoolEntry = sndManager.soundPoolSounds.getRandomSoundFromSoundPool(mod_pocketDim.modid+":creepy");
|
SoundPoolEntry soundPoolEntry = sndManager.soundPoolSounds.getRandomSoundFromSoundPool(mod_pocketDim.modid+":creepy");
|
||||||
if(soundPoolEntry!=null)
|
if (soundPoolEntry != null)
|
||||||
{
|
{
|
||||||
sndManager.sndSystem.backgroundMusic("LimboMusic", soundPoolEntry.getSoundUrl(), soundPoolEntry.getSoundName(), false);
|
sndManager.sndSystem.backgroundMusic("LimboMusic", soundPoolEntry.getSoundUrl(), soundPoolEntry.getSoundName(), false);
|
||||||
sndManager.sndSystem.play("LimboMusic");
|
sndManager.sndSystem.play("LimboMusic");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(!(world.provider instanceof LimboProvider))
|
else if (!(world.provider instanceof LimboProvider))
|
||||||
{
|
{
|
||||||
sndManager.sndSystem.stop("LimboMusic");
|
sndManager.sndSystem.stop("LimboMusic");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue