From 849bab4427f4bbbc2eb3522cf313082e047efeaf Mon Sep 17 00:00:00 2001 From: 4Wiesel20 Date: Thu, 12 Sep 2024 15:07:53 +0200 Subject: [PATCH] Added the 'change speed with scroll wheel' functionality of the freecam module to the flight module --- .../systems/modules/movement/Flight.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/movement/Flight.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/movement/Flight.java index 3706dcddcd..1e9e81d50c 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/movement/Flight.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/movement/Flight.java @@ -5,6 +5,7 @@ package meteordevelopment.meteorclient.systems.modules.movement; +import meteordevelopment.meteorclient.events.meteor.MouseScrollEvent; import meteordevelopment.meteorclient.events.packets.PacketEvent; import meteordevelopment.meteorclient.events.world.TickEvent; import meteordevelopment.meteorclient.mixin.ClientPlayerEntityAccessor; @@ -43,6 +44,15 @@ public class Flight extends Module { .build() ); + private final Setting speedScrollSensitivity = sgGeneral.add(new DoubleSetting.Builder() + .name("speed-scroll-sensitivity") + .description("Allows you to change flight speed using scroll wheel. 0 to disable.") + .defaultValue(0.0) + .min(0.0) + .sliderMax(2.0) + .build() + ); + private final Setting verticalSpeedMatch = sgGeneral.add(new BoolSetting.Builder() .name("vertical-speed-match") .description("Matches your vertical speed to your horizontal speed, otherwise uses vanilla ratio.") @@ -120,6 +130,17 @@ private void onPreTick(TickEvent.Pre event) { lastYaw = currentYaw; } + @EventHandler + private void onMouseScroll(MouseScrollEvent event) { + if (speedScrollSensitivity.get() > 0 && mc.currentScreen == null) { + double newSpeed = speed.get() + event.value * 0.25 * (speedScrollSensitivity.get() * speed.get()); + if (newSpeed < 0.01) newSpeed = 0.01; // Ensuring the speed doesn't become too slow. + + speed.set(newSpeed); // Update the speed setting with the new value. + event.cancel(); + } + } + @EventHandler private void onPostTick(TickEvent.Post event) { if (delayLeft > 0) delayLeft--;