diff --git a/src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java b/src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java index 79af8271..269f383e 100644 --- a/src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java +++ b/src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java @@ -1,15 +1,36 @@ package eu.crushedpixel.replaymod.sound; import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.util.ResourceLocation; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Clip; +import java.io.InputStream; + public class SoundHandler { private final Minecraft mc = Minecraft.getMinecraft(); - private final ResourceLocation successSoundLocation = new ResourceLocation("replaymod:renderSuccess"); + private final ResourceLocation successSoundLocation = new ResourceLocation("replaymod", "renderSuccess.wav"); public void playRenderSuccessSound() { - mc.getSoundHandler().playSound(PositionedSoundRecord.create(successSoundLocation, 1.0F)); + playSound(successSoundLocation); + } + + /** + * Plays a .wav Sound from a ResourceLocation. This method does not respect Game Settings like Audio Volume. + * @param loc The Sound File's ResourceLocation + */ + public void playSound(ResourceLocation loc) { + try { + InputStream is = Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream(); + AudioInputStream ais = AudioSystem.getAudioInputStream(is); + + Clip clip = AudioSystem.getClip(); + clip.open(ais); + clip.start(); + } catch(Exception e) { + e.printStackTrace(); + } } } diff --git a/src/main/resources/assets/replaymod/renderSuccess.wav b/src/main/resources/assets/replaymod/renderSuccess.wav new file mode 100644 index 00000000..311e8693 Binary files /dev/null and b/src/main/resources/assets/replaymod/renderSuccess.wav differ diff --git a/src/main/resources/assets/replaymod/sounds.json b/src/main/resources/assets/replaymod/sounds.json deleted file mode 100644 index 6b7dad94..00000000 --- a/src/main/resources/assets/replaymod/sounds.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "renderSuccess":{"category": "master", "sounds":["renderSuccess"]} -} \ No newline at end of file diff --git a/src/main/resources/assets/replaymod/sounds/renderSuccess.ogg b/src/main/resources/assets/replaymod/sounds/renderSuccess.ogg deleted file mode 100644 index 262b0c25..00000000 Binary files a/src/main/resources/assets/replaymod/sounds/renderSuccess.ogg and /dev/null differ