From 25247a2371be5c1d3e675e27fdb541c4d29c4aa6 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Tue, 23 Feb 2021 00:29:55 +0100 Subject: [PATCH] Move MixinGuiScreen into 1.7.10 project --- .../recording/mixin/MixinGuiScreen.java | 46 +------------------ .../recording/mixin/MixinGuiScreen.java | 43 +++++++++++++++++ 2 files changed, 44 insertions(+), 45 deletions(-) create mode 100644 versions/1.7.10/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java diff --git a/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java b/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java index c205f9ac..743815c4 100644 --- a/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java +++ b/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java @@ -1,45 +1 @@ -//#if MC<=10710 -//$$ package com.replaymod.recording.mixin; -//$$ -//$$ import de.johni0702.minecraft.gui.container.VanillaGuiScreen; -//$$ import net.minecraft.client.gui.GuiScreen; -//$$ import org.lwjgl.input.Keyboard; -//$$ import org.lwjgl.input.Mouse; -//$$ import org.spongepowered.asm.mixin.Mixin; -//$$ import org.spongepowered.asm.mixin.Shadow; -//$$ import org.spongepowered.asm.mixin.injection.At; -//$$ import org.spongepowered.asm.mixin.injection.Inject; -//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -//$$ -//$$ import static com.replaymod.core.versions.MCVer.*; -//$$ -//$$ @Mixin(GuiScreen.class) -//$$ public abstract class MixinGuiScreen { -//$$ -//$$ @Inject(method = "handleInput", at = @At("HEAD"), cancellable = true) -//$$ private void handleJGuiInput(CallbackInfo ci) { -//$$ ci.cancel(); -//$$ if (Mouse.isCreated()) { -//$$ while (Mouse.next()) { -//$$ if (FORGE_BUS.post(new VanillaGuiScreen.MouseInputEvent())) { -//$$ continue; -//$$ } -//$$ handleMouseInput(); -//$$ } -//$$ } -//$$ -//$$ if (Keyboard.isCreated()) { -//$$ while (Keyboard.next()) { -//$$ if (FORGE_BUS.post(new VanillaGuiScreen.KeyboardInputEvent())) { -//$$ continue; -//$$ } -//$$ handleKeyboardInput(); -//$$ } -//$$ } -//$$ } -//$$ -//$$ @Shadow public abstract void handleMouseInput(); -//$$ -//$$ @Shadow public abstract void handleKeyboardInput(); -//$$ } -//#endif +// 1.7.10 and below diff --git a/versions/1.7.10/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java b/versions/1.7.10/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java new file mode 100644 index 00000000..c9d30754 --- /dev/null +++ b/versions/1.7.10/src/main/java/com/replaymod/recording/mixin/MixinGuiScreen.java @@ -0,0 +1,43 @@ +package com.replaymod.recording.mixin; + +import de.johni0702.minecraft.gui.container.VanillaGuiScreen; +import net.minecraft.client.gui.GuiScreen; +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import static com.replaymod.core.versions.MCVer.*; + +@Mixin(GuiScreen.class) +public abstract class MixinGuiScreen { + + @Inject(method = "handleInput", at = @At("HEAD"), cancellable = true) + private void handleJGuiInput(CallbackInfo ci) { + ci.cancel(); + if (Mouse.isCreated()) { + while (Mouse.next()) { + if (FORGE_BUS.post(new VanillaGuiScreen.MouseInputEvent())) { + continue; + } + handleMouseInput(); + } + } + + if (Keyboard.isCreated()) { + while (Keyboard.next()) { + if (FORGE_BUS.post(new VanillaGuiScreen.KeyboardInputEvent())) { + continue; + } + handleKeyboardInput(); + } + } + } + + @Shadow public abstract void handleMouseInput(); + + @Shadow public abstract void handleKeyboardInput(); +}