From 036be42becf250903f6f33f4a7600bb705b06d65 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Sat, 24 May 2025 11:18:01 +0200 Subject: [PATCH] fix: camera randomly stops working --- .../client/MidnightControlsClient.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java b/common/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java index 23f63ad..d2fc416 100644 --- a/common/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java +++ b/common/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java @@ -86,12 +86,16 @@ public class MidnightControlsClient extends MidnightControls { int period = 1; // repeat every 0.001 sec. (1000 times a second) Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { - public void run() { // TODO: Add a try/catch here after the alpha testing period - if (lateInitDone && client.isRunning()) { - if (MidnightControlsConfig.controlsMode != ControlsMode.DEFAULT && (client.isWindowFocused() || MidnightControlsConfig.unfocusedInput)) { - input.tickCameraStick(); - input.updateCamera(); + public void run() { + try { + if (lateInitDone && client.isRunning()) { + if (MidnightControlsConfig.controlsMode != ControlsMode.DEFAULT && (client.isWindowFocused() || MidnightControlsConfig.unfocusedInput)) { + input.tickCameraStick(); + input.updateCamera(); + } } + } catch (Exception | Error e) { + MidnightControls.logger.error("Exception encountered in camera loop: ",e); } } }, delay, period);