From de40b5aa474eb1257fc79cc70c1fa7dfeae9c005 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Thu, 2 Apr 2020 15:31:59 +0200 Subject: [PATCH] Fix spectating via point&click on fabric --- .../com/replaymod/core/mixin/MixinMouse.java | 20 +++++++++++++++++++ src/main/resources/mixins.core.replaymod.json | 1 + 2 files changed, 21 insertions(+) create mode 100644 src/main/java/com/replaymod/core/mixin/MixinMouse.java diff --git a/src/main/java/com/replaymod/core/mixin/MixinMouse.java b/src/main/java/com/replaymod/core/mixin/MixinMouse.java new file mode 100644 index 00000000..e6871a82 --- /dev/null +++ b/src/main/java/com/replaymod/core/mixin/MixinMouse.java @@ -0,0 +1,20 @@ +//#if MC>=11400 +package com.replaymod.core.mixin; + +import com.replaymod.core.events.KeyBindingEventCallback; +import com.replaymod.core.events.KeyEventCallback; +import net.minecraft.client.Keyboard; +import net.minecraft.client.Mouse; +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(Mouse.class) +public class MixinMouse { + @Inject(method = "onMouseButton", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/options/KeyBinding;onKeyPressed(Lnet/minecraft/client/util/InputUtil$KeyCode;)V", shift = At.Shift.AFTER)) + private void afterKeyBindingTick(CallbackInfo ci) { + KeyBindingEventCallback.EVENT.invoker().onKeybindingEvent(); + } +} +//#endif diff --git a/src/main/resources/mixins.core.replaymod.json b/src/main/resources/mixins.core.replaymod.json index 915eac4c..6d4fcac1 100644 --- a/src/main/resources/mixins.core.replaymod.json +++ b/src/main/resources/mixins.core.replaymod.json @@ -11,6 +11,7 @@ //#endif //#if MC>=11400 "MixinKeyboardListener", + "MixinMouse", //#endif //#if MC<10800 //$$ "ResourcePackRepositoryAccessor",