Skip to content

Commit ec7d778

Browse files
Revert changes to MixinMouseHelper
Remove unneeded variable guiWasNotNull
1 parent 082f415 commit ec7d778

File tree

2 files changed

+12
-21
lines changed

2 files changed

+12
-21
lines changed

src/main/java/gg/skytils/skytilsmod/mixins/transformers/util/MixinMouseHelper.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,16 @@
1818

1919
package gg.skytils.skytilsmod.mixins.transformers.util;
2020

21+
import com.llamalad7.mixinextras.injector.WrapWithCondition;
2122
import gg.skytils.skytilsmod.mixins.hooks.util.MouseHelperHook;
2223
import net.minecraft.util.MouseHelper;
23-
import org.lwjgl.input.Mouse;
2424
import org.spongepowered.asm.mixin.Mixin;
2525
import org.spongepowered.asm.mixin.injection.At;
26-
import org.spongepowered.asm.mixin.injection.Inject;
27-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2826

2927
@Mixin(MouseHelper.class)
3028
public class MixinMouseHelper {
31-
@Inject(method = "ungrabMouseCursor", at = @At("HEAD"), cancellable = true)
32-
private void ungrabMouseCursor(CallbackInfo ci) {
33-
if (MouseHelperHook.INSTANCE.shouldResetMouseToCenter()) {
34-
ci.cancel();
35-
Mouse.setGrabbed(false);
36-
}
29+
@WrapWithCondition(method = "ungrabMouseCursor", at = @At(value = "INVOKE", target = "Lorg/lwjgl/input/Mouse;setCursorPosition(II)V", remap = false))
30+
private boolean shouldSetCursorPos(int newX, int newY) {
31+
return MouseHelperHook.INSTANCE.shouldResetMouseToCenter();
3732
}
3833
}

src/main/kotlin/gg/skytils/skytilsmod/mixins/hooks/util/MouseHelperHook.kt

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,30 +19,26 @@
1919
package gg.skytils.skytilsmod.mixins.hooks.util
2020

2121
import gg.skytils.skytilsmod.Skytils
22-
import net.minecraft.client.Minecraft
23-
import net.minecraftforge.client.event.GuiOpenEvent
22+
import gg.skytils.skytilsmod.Skytils.Companion.mc
2423
import net.minecraft.client.gui.inventory.GuiChest
2524
import net.minecraft.client.gui.inventory.GuiContainer
25+
import net.minecraftforge.client.event.GuiOpenEvent
2626
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
27-
import net.minecraftforge.fml.common.gameevent.TickEvent
2827

2928
object MouseHelperHook {
3029
private var lastOpen = -1L
31-
private var guiWasNotNull = false
30+
3231
@SubscribeEvent
3332
fun onGuiOpen(e: GuiOpenEvent) {
34-
val oldGui = Minecraft.getMinecraft().currentScreen
35-
if (e.gui is GuiChest && (oldGui is GuiContainer || oldGui == null)) {
33+
val oldGui = mc.currentScreen
34+
if (e.gui == null) {
35+
lastOpen = -1L
36+
} else if (e.gui is GuiChest && (oldGui is GuiContainer || oldGui == null)) {
3637
lastOpen = System.currentTimeMillis()
3738
}
3839
}
3940

40-
@SubscribeEvent
41-
fun onTick(event: TickEvent.ClientTickEvent) {
42-
guiWasNotNull = Minecraft.getMinecraft().currentScreen != null
43-
}
44-
4541
fun shouldResetMouseToCenter(): Boolean {
46-
return Skytils.config.preventCursorReset && System.currentTimeMillis() - lastOpen <= 150 && guiWasNotNull
42+
return Skytils.config.preventCursorReset && System.currentTimeMillis() - lastOpen <= 150
4743
}
4844
}

0 commit comments

Comments
 (0)