diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index 78ecfc56fc..cc97cc2313 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -188,9 +188,9 @@ public class Hooks return mouseManager.processMouseMoved(mouseEvent); } - public static void mouseWheelMoved(MouseWheelEvent event) + public static MouseWheelEvent mouseWheelMoved(MouseWheelEvent event) { - mouseManager.processMouseWheelMoved(event); + return mouseManager.processMouseWheelMoved(event); } public static void keyPressed(KeyEvent keyEvent) diff --git a/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java b/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java index dbb8bd3695..348899e127 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java +++ b/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java @@ -125,11 +125,12 @@ public class MouseManager return mouseEvent; } - public void processMouseWheelMoved(MouseWheelEvent mouseWheelEvent) + public MouseWheelEvent processMouseWheelMoved(MouseWheelEvent mouseWheelEvent) { for (MouseWheelListener mouseWheelListener : mouseWheelListeners) { - mouseWheelListener.mouseWheelMoved(mouseWheelEvent); + mouseWheelEvent = mouseWheelListener.mouseWheelMoved(mouseWheelEvent); } + return mouseWheelEvent; } } diff --git a/runelite-client/src/main/java/net/runelite/client/input/MouseWheelListener.java b/runelite-client/src/main/java/net/runelite/client/input/MouseWheelListener.java index f0c6775510..060b3814de 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/MouseWheelListener.java +++ b/runelite-client/src/main/java/net/runelite/client/input/MouseWheelListener.java @@ -24,6 +24,12 @@ */ package net.runelite.client.input; -public interface MouseWheelListener extends java.awt.event.MouseWheelListener +import java.awt.event.MouseWheelEvent; + +public abstract class MouseWheelListener { + public MouseWheelEvent mouseWheelMoved(MouseWheelEvent event) + { + return event; + } } diff --git a/runelite-mixins/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-mixins/src/main/java/net/runelite/client/callback/Hooks.java index 31946dd301..5f5e3205d0 100644 --- a/runelite-mixins/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-mixins/src/main/java/net/runelite/client/callback/Hooks.java @@ -83,7 +83,7 @@ public class Hooks throw new RuntimeException(); } - public static void mouseWheelMoved(MouseWheelEvent event) + public static MouseWheelEvent mouseWheelMoved(MouseWheelEvent event) { throw new RuntimeException(); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java index a906f069f8..3f167a5721 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java @@ -41,7 +41,7 @@ public abstract class RSMouseWheelHandlerMixin implements RSMouseWheelHandler @Replace("mouseWheelMoved") public void mouseWheelMoved(MouseWheelEvent event) { - Hooks.mouseWheelMoved(event); + event = Hooks.mouseWheelMoved(event); if (!event.isConsumed()) { rs$mouseWheelMoved(event);