diff --git a/src/main/java/net/silentclient/client/utils/RawInputHandler.java b/src/main/java/net/silentclient/client/utils/RawInputHandler.java index e58b450..7be91a1 100644 --- a/src/main/java/net/silentclient/client/utils/RawInputHandler.java +++ b/src/main/java/net/silentclient/client/utils/RawInputHandler.java @@ -13,6 +13,7 @@ public class RawInputHandler { public static Mouse mouse; public static int dx = 0; public static int dy = 0; + public static Thread inputThread; public static void init() { controllers = ControllerEnvironment.getDefaultEnvironment().getControllers(); @@ -44,9 +45,11 @@ public class RawInputHandler { Minecraft.getMinecraft().mouseHelper = new MouseHelper(); Minecraft.getMinecraft().mouseHelper.grabMouseCursor(); Minecraft.getMinecraft().mouseHelper.ungrabMouseCursor(); + inputThread.interrupt(); } else { Client.logger.info("[SC]: Enabling Raw Mouse Input"); Minecraft.getMinecraft().mouseHelper = new RawMouseHelper(); + startThread(); Minecraft.getMinecraft().mouseHelper.grabMouseCursor(); Minecraft.getMinecraft().mouseHelper.ungrabMouseCursor(); } @@ -59,8 +62,12 @@ public class RawInputHandler { } public static void startThread() { - Thread inputThread = new Thread(() -> { + inputThread = new Thread(() -> { while(true){ + if (Thread.currentThread().isInterrupted()) { + break; + } + rescan(); if (mouse != null && Minecraft.getMinecraft().currentScreen == null) { mouse.poll(); dx += (int)mouse.getX().getPollData(); @@ -74,7 +81,7 @@ public class RawInputHandler { try { Thread.sleep(1); } catch(InterruptedException e) { - e.printStackTrace(); + Client.logger.catching(e); } } });