diff options
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java')
-rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinMouseHelper.java | 22 |
1 files changed, 22 insertions, 0 deletions
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); + } + } + +} |