diff --git a/src/main/java/com/replaymod/core/mixin/MixinKeyboardListener.java b/src/main/java/com/replaymod/core/mixin/MixinKeyboardListener.java index 3a7c680c..3c218b89 100644 --- a/src/main/java/com/replaymod/core/mixin/MixinKeyboardListener.java +++ b/src/main/java/com/replaymod/core/mixin/MixinKeyboardListener.java @@ -2,19 +2,12 @@ package com.replaymod.core.mixin; import com.replaymod.core.events.KeyBindingEventCallback; import com.replaymod.core.events.KeyEventCallback; +import net.minecraft.client.Keyboard; 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; -//#if MC>=11400 -import net.minecraft.client.Keyboard; -//#else -//$$ import net.minecraft.client.settings.KeyBinding; -//$$ import org.lwjgl.input.Keyboard; -//#endif - -//#if MC>=11400 @Mixin(Keyboard.class) public class MixinKeyboardListener { private static final String ON_KEY_PRESSED = "Lnet/minecraft/client/options/KeyBinding;onKeyPressed(Lnet/minecraft/client/util/InputUtil$Key;)V"; @@ -31,21 +24,3 @@ public class MixinKeyboardListener { KeyBindingEventCallback.EVENT.invoker().onKeybindingEvent(); } } -//#else -//$$ @Mixin(KeyBinding.class) -//$$ public class MixinKeyboardListener { -//$$ @Inject(method = "onTick", at = @At("HEAD"), cancellable = true) -//$$ private static void beforeKeyBindingTick(CallbackInfo ci) { -//$$ int keyCode = Keyboard.getEventKey() == 0 ? Keyboard.getEventCharacter() + 256 : Keyboard.getEventKey(); -//$$ int action = Keyboard.getEventKeyState() ? KeyEventCallback.ACTION_PRESS : KeyEventCallback.ACTION_RELEASE; -//$$ if (KeyEventCallback.EVENT.invoker().onKeyEvent(keyCode, 0, action, 0)) { -//$$ ci.cancel(); -//$$ } -//$$ } -//$$ -//$$ @Inject(method = "onTick", at = @At("RETURN")) -//$$ private static void afterKeyBindingTick(CallbackInfo ci) { -//$$ KeyBindingEventCallback.EVENT.invoker().onKeybindingEvent(); -//$$ } -//$$ } -//#endif diff --git a/versions/1.12.2/src/main/java/com/replaymod/core/mixin/MixinKeyboardListener.java b/versions/1.12.2/src/main/java/com/replaymod/core/mixin/MixinKeyboardListener.java new file mode 100644 index 00000000..2e29e2ed --- /dev/null +++ b/versions/1.12.2/src/main/java/com/replaymod/core/mixin/MixinKeyboardListener.java @@ -0,0 +1,27 @@ +package com.replaymod.core.mixin; + +import com.replaymod.core.events.KeyBindingEventCallback; +import com.replaymod.core.events.KeyEventCallback; +import net.minecraft.client.settings.KeyBinding; +import org.lwjgl.input.Keyboard; +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(KeyBinding.class) +public class MixinKeyboardListener { + @Inject(method = "onTick", at = @At("HEAD"), cancellable = true) + private static void beforeKeyBindingTick(CallbackInfo ci) { + int keyCode = Keyboard.getEventKey() == 0 ? Keyboard.getEventCharacter() + 256 : Keyboard.getEventKey(); + int action = Keyboard.getEventKeyState() ? KeyEventCallback.ACTION_PRESS : KeyEventCallback.ACTION_RELEASE; + if (KeyEventCallback.EVENT.invoker().onKeyEvent(keyCode, 0, action, 0)) { + ci.cancel(); + } + } + + @Inject(method = "onTick", at = @At("RETURN")) + private static void afterKeyBindingTick(CallbackInfo ci) { + KeyBindingEventCallback.EVENT.invoker().onKeybindingEvent(); + } +}