aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/mixin/SoundManagerMixin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin/SoundManagerMixin.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/SoundManagerMixin.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/SoundManagerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/SoundManagerMixin.java
new file mode 100644
index 00000000..94380724
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/SoundManagerMixin.java
@@ -0,0 +1,27 @@
+package me.xmrvizzy.skyblocker.mixin;
+
+
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.sound.SoundInstance;
+import net.minecraft.client.sound.SoundManager;
+import net.minecraft.sound.SoundEvents;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+
+@Mixin(SoundManager.class)
+public class SoundManagerMixin {
+
+ private MinecraftClient client = MinecraftClient.getInstance();
+
+ @Inject(at = @At("HEAD"), method = "play(Lnet/minecraft/client/sound/SoundInstance;)V")
+ private void play(SoundInstance sound, CallbackInfo ci) {
+ if (sound.getId().toString().equals("minecraft:entity.player.splash")){
+ if (client.player.fishHook != null)
+ if (client.player.fishHook.isInOpenWater() && sound.getX() != client.player.getX() && sound.getY() != client.player.getY() && sound.getZ() != client.player.getZ() && SkyblockerConfig.get().fishing.enableFishingDing)
+ client.player.playSound(SoundEvents.ENTITY_ARROW_HIT_PLAYER, 1, 1);
+ }
+ }
+}