From 9aa7b49d224bfde055e12bc84f6908ba0a50090d Mon Sep 17 00:00:00 2001 From: BuildTools Date: Thu, 6 May 2021 08:03:15 +0800 Subject: fine ironman --- .../notenoughupdates/mixins/MixinMouseHelper.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java (limited to 'src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java new file mode 100644 index 00000000..3d442d58 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java @@ -0,0 +1,22 @@ +package io.github.moulberry.notenoughupdates.mixins; + +import io.github.moulberry.notenoughupdates.NEUEventListener; +import net.minecraft.util.MouseHelper; +import org.lwjgl.input.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(MouseHelper.class) +public class MixinMouseHelper { + + @Inject(method = { "ungrabMouseCursor" }, at = { @At("HEAD") }, cancellable = true) + public void ungrabMouseCursor(final CallbackInfo ci) { + if (System.currentTimeMillis() - NEUEventListener.lastGuiClosed < 150L) { + ci.cancel(); + Mouse.setGrabbed(false); + } + } + +} -- cgit