diff --git a/src/main/java/eu/crushedpixel/replaymod/ReplayMod.java b/src/main/java/eu/crushedpixel/replaymod/ReplayMod.java index f8aa315b..dd187fcf 100755 --- a/src/main/java/eu/crushedpixel/replaymod/ReplayMod.java +++ b/src/main/java/eu/crushedpixel/replaymod/ReplayMod.java @@ -19,10 +19,11 @@ import eu.crushedpixel.replaymod.replay.ReplayProcess; import eu.crushedpixel.replaymod.replay.ReplaySender; import eu.crushedpixel.replaymod.settings.RenderOptions; import eu.crushedpixel.replaymod.settings.ReplaySettings; +import eu.crushedpixel.replaymod.sound.SoundHandler; +import eu.crushedpixel.replaymod.timer.ReplayTimer; import eu.crushedpixel.replaymod.utils.ReplayFile; import eu.crushedpixel.replaymod.utils.ReplayFileIO; import eu.crushedpixel.replaymod.utils.TooltipRenderer; -import eu.crushedpixel.replaymod.timer.ReplayTimer; import eu.crushedpixel.replaymod.video.frame.*; import net.minecraft.client.Minecraft; import net.minecraft.client.settings.GameSettings; @@ -73,6 +74,7 @@ public class ReplayMod { public static SpectatorRenderer spectatorRenderer; public static TooltipRenderer tooltipRenderer; public static PathPreviewRenderer pathPreviewRenderer; + public static SoundHandler soundHandler = new SoundHandler(); // The instance of your mod that Forge uses. @Instance(value = "ReplayModID") diff --git a/src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java b/src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java new file mode 100644 index 00000000..519de391 --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/sound/SoundHandler.java @@ -0,0 +1,15 @@ +package eu.crushedpixel.replaymod.sound; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.util.ResourceLocation; + +public class SoundHandler { + + private final Minecraft mc = Minecraft.getMinecraft(); + private final ResourceLocation successSoundLocation = new ResourceLocation("replaymod:renderSuccess"); + + public void playRenderSuccessSound() { + mc.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(successSoundLocation, 1.0F)); + } +} diff --git a/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java b/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java index db193555..7a5f63a0 100644 --- a/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java +++ b/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java @@ -174,6 +174,8 @@ public class VideoRenderer { if (chunkLoadingRenderGlobal != null) { chunkLoadingRenderGlobal.uninstall(); } + + ReplayMod.soundHandler.playRenderSuccessSound(); } private void updateCam() { diff --git a/src/main/resources/assets/replaymod/sounds.json b/src/main/resources/assets/replaymod/sounds.json new file mode 100644 index 00000000..6b7dad94 --- /dev/null +++ b/src/main/resources/assets/replaymod/sounds.json @@ -0,0 +1,3 @@ +{ + "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 new file mode 100644 index 00000000..262b0c25 Binary files /dev/null and b/src/main/resources/assets/replaymod/sounds/renderSuccess.ogg differ