Skip to content

Commit c5f073b

Browse files
committed
fix: use WrapOperation for MusicManagerMixin
1 parent 428f7a8 commit c5f073b

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

common/src/main/java/com/aetherteam/cumulus/mixin/mixins/client/MusicManagerMixin.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
package com.aetherteam.cumulus.mixin.mixins.client;
22

33
import com.aetherteam.cumulus.client.CumulusClient;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
5+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
46
import net.minecraft.client.Minecraft;
57
import net.minecraft.client.sounds.MusicManager;
68
import net.minecraft.sounds.Music;
79
import net.minecraft.sounds.Musics;
810
import org.spongepowered.asm.mixin.Mixin;
911
import org.spongepowered.asm.mixin.injection.At;
10-
import org.spongepowered.asm.mixin.injection.ModifyVariable;
1112

1213
@Mixin(MusicManager.class)
1314
public class MusicManagerMixin {
1415
/**
1516
* This mixin modifies the return of {@link Minecraft#getSituationalMusic()} as it is given to the music variable in {@link MusicManager}.
16-
* @param music The original {@link Music} variable.
1717
* @return The modified {@link Music} variable.
1818
*/
19-
@ModifyVariable(method = "tick()V", at = @At(value = "STORE"))
20-
public Music injected(Music music) {
19+
@WrapOperation(method = "tick()V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSituationalMusic()Lnet/minecraft/sounds/Music;"))
20+
public Music injected(Minecraft instance, Operation<Music> original) {
21+
Music music = original.call(instance);
2122
if (music == Musics.MENU && CumulusClient.MENU_HELPER.getActiveMusic() != null) {
2223
return CumulusClient.MENU_HELPER.getActiveMusic();
2324
}

0 commit comments

Comments
 (0)