diff --git a/src/main/java/keystrokesmod/module/impl/movement/Sprint.java b/src/main/java/keystrokesmod/module/impl/movement/Sprint.java index 8216408a7..83b40029b 100644 --- a/src/main/java/keystrokesmod/module/impl/movement/Sprint.java +++ b/src/main/java/keystrokesmod/module/impl/movement/Sprint.java @@ -4,6 +4,7 @@ import keystrokesmod.event.SprintEvent; import keystrokesmod.module.Module; import keystrokesmod.module.ModuleManager; +import keystrokesmod.module.setting.impl.ButtonSetting; import keystrokesmod.module.setting.impl.ModeSetting; import keystrokesmod.module.setting.utils.ModeOnly; import keystrokesmod.utility.MoveUtil; @@ -14,14 +15,18 @@ import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; public class Sprint extends Module { - public static boolean omni = false; - public static boolean stopSprint = false; private final ModeSetting mode = new ModeSetting("Mode", new String[]{"Legit", "Omni"}, 0); private final ModeSetting omniMode = new ModeSetting("Bypass mode", new String[]{"None", "Legit"}, 1, new ModeOnly(mode, 1)); + private final ButtonSetting disableWhileScaffold; + + public static boolean omni = false; + public static boolean stopSprint = false; public Sprint() { super("Sprint", Module.category.movement, 0); this.registerSetting(mode, omniMode); + // This setting is only applicable in legit mode as omni mode handles sprinting differently + this.registerSetting(disableWhileScaffold = new ButtonSetting("Disable While Scaffold", false, new ModeOnly(mode, 0))); } public static boolean omni() { @@ -42,7 +47,14 @@ public static boolean stopSprint() { @SubscribeEvent public void p(PlayerTickEvent e) { if (Utils.nullCheck() && mc.inGameHasFocus) { - KeyBinding.setKeyBindState(mc.gameSettings.keyBindSprint.getKeyCode(), true); + + if(ModuleManager.scaffold.isEnabled() && disableWhileScaffold.isToggled()) { + KeyBinding.setKeyBindState(mc.gameSettings.keyBindSprint.getKeyCode(), false); + } + else { + KeyBinding.setKeyBindState(mc.gameSettings.keyBindSprint.getKeyCode(), true); + } + } } diff --git a/src/main/java/keystrokesmod/module/impl/world/Scaffold.java b/src/main/java/keystrokesmod/module/impl/world/Scaffold.java index 0cf6a99d1..4161e7c2c 100644 --- a/src/main/java/keystrokesmod/module/impl/world/Scaffold.java +++ b/src/main/java/keystrokesmod/module/impl/world/Scaffold.java @@ -95,6 +95,8 @@ public class Scaffold extends IAutoClicker { private final ButtonSetting polar; private final ButtonSetting postPlace; private final ButtonSetting lookView; + private final ButtonSetting cancelSprintAtStart; + private final Map highlight = new HashMap<>(); public @Nullable MovingObjectPosition rayCasted = null; public MovingObjectPosition placeBlock; @@ -197,6 +199,7 @@ public Scaffold() { this.registerSetting(polar = new ButtonSetting("Polar", false, expand::isToggled)); this.registerSetting(postPlace = new ButtonSetting("Post place", false, "Place on PostUpdate.")); this.registerSetting(lookView = new ButtonSetting("Look view", false)); + this.registerSetting(cancelSprintAtStart = new ButtonSetting("Cancel sprint at start", false)); } public static boolean sprint() { @@ -266,8 +269,14 @@ public void onEnable() { hoverState = HoverState.DONE; } - if (stopAtStart.isToggled()) + if (stopAtStart.isToggled()) { stopMoving = true; + } + + if (cancelSprintAtStart.isToggled()) { + mc.thePlayer.setSprinting(false); + } + } @SubscribeEvent