aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/dulkirfabric/mixin
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/dulkirfabric/mixin')
-rw-r--r--src/main/java/com/dulkirfabric/mixin/SoundSystemMixin.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/main/java/com/dulkirfabric/mixin/SoundSystemMixin.java b/src/main/java/com/dulkirfabric/mixin/SoundSystemMixin.java
index ce84582..3f4c0af 100644
--- a/src/main/java/com/dulkirfabric/mixin/SoundSystemMixin.java
+++ b/src/main/java/com/dulkirfabric/mixin/SoundSystemMixin.java
@@ -1,19 +1,18 @@
package com.dulkirfabric.mixin;
import com.dulkirfabric.events.PlaySoundEvent;
-import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import net.minecraft.client.sound.SoundInstance;
import net.minecraft.client.sound.SoundSystem;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(SoundSystem.class)
public class SoundSystemMixin {
- @ModifyExpressionValue(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V",
- at = @At(value = "INVOKE", target = "Lnet/minecraft/client/sound/SoundInstance;canPlay()Z"))
- public boolean onSound(boolean original, SoundInstance sound) {
- return !(new PlaySoundEvent(sound).post());
+ @Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/sound/SoundInstance;getSound()Lnet/minecraft/client/sound/Sound;"), cancellable = true)
+ public void onSound(SoundInstance sound, CallbackInfo ci) {
+ if (new PlaySoundEvent(sound).post()) ci.cancel();
}
}