AfterRebelion
Members-
Posts
5 -
Joined
-
Last visited
Everything posted by AfterRebelion
-
[1.15.2] PlaySoundEvent getVolume NPE
AfterRebelion replied to AfterRebelion's topic in Modder Support
The last time I got a bug like this on GitHub, I got told to go first to the forum, so that's what I did. I was just waiting for someone to give me the ok to take this to Github, so thank you! -
[1.15.2] PlaySoundEvent getVolume NPE
AfterRebelion replied to AfterRebelion's topic in Modder Support
Retried with Forge RB 31.1.0, and it still crashes. -
[Solved] [1.15.2] Config File Order
AfterRebelion replied to MurkyConspiracy's topic in Modder Support
It's threaded, so it populates in the order it loads There's a method called preserveInsertionOrder() in the builder that let's you reorder the list as you have it in code. I'm not aware of anything that let's you order it alphabetically, though. -
[1.15.2] PlaySoundEvent getVolume NPE
AfterRebelion replied to AfterRebelion's topic in Modder Support
Since this was posted 24+ hours ago, and didn't get any response, I must assume this is working as intended? So is there any way to get volume and pitch of a SoundEvent? -
When trying to use getSound().getVolume() or getSound().getPitch() methods on PlaySoundEvent, it will generate a NullPointerException if called for any Minecraft sound, like this one: crash-2020-01-31_14.46.31-client.txt In case anyone needs it, here is the code that caused that crash: package com.sonicether.soundphysics.utils; import net.minecraftforge.client.event.sound.PlaySoundEvent; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; public class SoundEventHandler { @SubscribeEvent(priority= EventPriority.LOWEST) public void onEvent(PlaySoundEvent event) { event.getSound().getVolume(); } } This happens because net.minecraft.client.audio.LocatableSound, the main class every sound in Minecraft extends, uses this.sound.getVolume() and this.sound.getPitch(), but as at the time the ForgeHook is implemented the sound field has not yet been initialized, it's null, and generates the NPE. This also results in that getSound().getSound() will always return null.