aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils/SoundUtils.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils/SoundUtils.kt')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/SoundUtils.kt34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/SoundUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/SoundUtils.kt
new file mode 100644
index 000000000..1fb107375
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/utils/SoundUtils.kt
@@ -0,0 +1,34 @@
+package at.hannibal2.skyhanni.utils
+
+import net.minecraft.client.Minecraft
+import net.minecraft.client.audio.ISound
+import net.minecraft.client.audio.PositionedSound
+import net.minecraft.client.audio.SoundCategory
+import net.minecraft.util.ResourceLocation
+
+object SoundUtils {
+ fun ISound.playSound() {
+ val gameSettings = Minecraft.getMinecraft().gameSettings
+ val oldLevel = gameSettings.getSoundLevel(SoundCategory.PLAYERS)
+ gameSettings.setSoundLevel(SoundCategory.PLAYERS, 1f)
+ try {
+ Minecraft.getMinecraft().soundHandler.playSound(this)
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ gameSettings.setSoundLevel(SoundCategory.PLAYERS, oldLevel)
+ }
+
+ fun createSound(name: String, pitch: Float): ISound {
+ val sound: ISound = object : PositionedSound(ResourceLocation(name)) {
+ init {
+ volume = 50f
+ repeat = false
+ repeatDelay = 0
+ attenuationType = ISound.AttenuationType.NONE
+ this.pitch = pitch
+ }
+ }
+ return sound
+ }
+} \ No newline at end of file