diff --git a/src/main/java/com/palight/playerinfo/gui/screens/impl/options/modules/movement/ToggleSprintGui.java b/src/main/java/com/palight/playerinfo/gui/screens/impl/options/modules/movement/ToggleSprintGui.java index 290dbe4..447ec30 100644 --- a/src/main/java/com/palight/playerinfo/gui/screens/impl/options/modules/movement/ToggleSprintGui.java +++ b/src/main/java/com/palight/playerinfo/gui/screens/impl/options/modules/movement/ToggleSprintGui.java @@ -11,6 +11,7 @@ public class ToggleSprintGui extends CustomGuiScreenScrollable { private GuiCheckBox widgetEnabled; + private GuiCheckBox toggleSneakEnabled; public ToggleSprintGui() { super(I18n.format("screen.toggleSprint")); @@ -24,9 +25,11 @@ public void initGui() { int buttonY = guiY + headerHeight + 16; widgetEnabled = new GuiCheckBox(0, buttonX, buttonY, "Widget enabled", ModConfiguration.toggleSprintWidgetEnabled); + toggleSneakEnabled = new GuiCheckBox(1, buttonX, buttonY + 20, "Toggle Sneak enabled", ModConfiguration.toggleSneakModEnabled); this.guiElements.addAll(Arrays.asList( - widgetEnabled + widgetEnabled, + toggleSneakEnabled )); } @@ -34,6 +37,8 @@ public void initGui() { protected void widgetClicked(GuiCustomWidget widget) { if (widget.id == widgetEnabled.id) { ModConfiguration.writeConfig(ModConfiguration.CATEGORY_WIDGETS, "toggleSprintWidgetEnabled", widget.enabled); + } else if(widget.id == toggleSneakEnabled.id){ + ModConfiguration.writeConfig(ModConfiguration.CATEGORY_MODS, "toggleSneakModEnabled", widget.enabled); } ModConfiguration.syncFromGUI(); super.widgetClicked(widget); diff --git a/src/main/java/com/palight/playerinfo/modules/impl/movement/ToggleSprintMod.java b/src/main/java/com/palight/playerinfo/modules/impl/movement/ToggleSprintMod.java index 2f58d6d..54685d4 100644 --- a/src/main/java/com/palight/playerinfo/modules/impl/movement/ToggleSprintMod.java +++ b/src/main/java/com/palight/playerinfo/modules/impl/movement/ToggleSprintMod.java @@ -15,7 +15,7 @@ public class ToggleSprintMod extends Module { private static boolean sprintingToggled = false; - private static boolean lastSprintState = false; + private static boolean sneakingToggled = false; private static KeyBinding sprintKey = Minecraft.getMinecraft().gameSettings.keyBindSprint; private static KeyBinding sneakKey = Minecraft.getMinecraft().gameSettings.keyBindSneak; @@ -50,9 +50,20 @@ public void clientTick(TickEvent.ClientTickEvent event) { if (sprintingToggled) { KeyBinding.setKeyBindState(sprintKey.getKeyCode(), true); } + + if (sneakKey.isPressed()) { + sneakingToggled = !sneakingToggled; + } + + if (sneakingToggled) { + KeyBinding.setKeyBindState(sneakKey.getKeyCode(), true); + } } public static boolean isSprintingToggled() { return sprintingToggled; } + public static boolean isSneakingToggled() { + return sneakingToggled; + } } diff --git a/src/main/java/com/palight/playerinfo/options/ModConfiguration.java b/src/main/java/com/palight/playerinfo/options/ModConfiguration.java index 229beb0..3221830 100644 --- a/src/main/java/com/palight/playerinfo/options/ModConfiguration.java +++ b/src/main/java/com/palight/playerinfo/options/ModConfiguration.java @@ -60,6 +60,7 @@ private static class DefaultValues { private static final boolean coordsModEnabled = false; private static final boolean mainMenuModEnabled = true; private static final boolean toggleSprintModEnabled = false; + private static final boolean toggleSneakModEnabled = false; private static final boolean bedwarsResourcesModEnabled = false; private static final boolean cpsModEnabled = false; private static final boolean displayModEnabled = false; @@ -102,6 +103,7 @@ private static class DefaultValues { public static boolean coordsModEnabled = DefaultValues.coordsModEnabled; public static boolean mainMenuModEnabled = DefaultValues.mainMenuModEnabled; public static boolean toggleSprintModEnabled = DefaultValues.toggleSprintModEnabled; + public static boolean toggleSneakModEnabled = DefaultValues.toggleSneakModEnabled; public static boolean bedwarsResourcesModEnabled = DefaultValues.bedwarsResourcesModEnabled; public static boolean cpsModEnabled = DefaultValues.cpsModEnabled; public static boolean displayModEnabled = DefaultValues.displayModEnabled; @@ -212,6 +214,7 @@ private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFro Property coordsModEnabled = config.get(CATEGORY_MODS, "coordsModEnabled", DefaultValues.coordsModEnabled, "Show your coordinates on screen"); Property mainMenuModEnabled = config.get(CATEGORY_MODS, "mainMenuModEnabled", DefaultValues.mainMenuModEnabled, "Enable the custom main menu"); Property toggleSprintModEnabled = config.get(CATEGORY_MODS, "toggleSprintModEnabled", DefaultValues.toggleSprintModEnabled, "Enable toggle sprint"); + Property toggleSneakModEnabled = config.get(CATEGORY_MODS, "toggleSneakModEnabled", DefaultValues.toggleSneakModEnabled, "Enable toggle sneak"); Property bedwarsResourcesModEnabled = config.get(CATEGORY_MODS, "bedwarsResourcesModEnabled", DefaultValues.bedwarsResourcesModEnabled, "Enable bedwars resources indicator"); Property cpsModEnabled = config.get(CATEGORY_MODS, "cpsModEnabled", DefaultValues.cpsModEnabled, "Enable CPS mod"); Property displayModEnabled = config.get(CATEGORY_MODS, "displayModEnabled", DefaultValues.displayModEnabled, "Enable display tweaks mod"); @@ -229,6 +232,7 @@ private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFro coordsModEnabled.getName(), mainMenuModEnabled.getName(), toggleSprintModEnabled.getName(), + toggleSneakModEnabled.getName(), bedwarsResourcesModEnabled.getName(), cpsModEnabled.getName(), displayModEnabled.getName(), @@ -242,7 +246,7 @@ private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFro List propOrderWidgets = new ArrayList<>(); propOrderWidgets.addAll(Arrays.asList( - toggleSprintModEnabled.getName() + toggleSprintWidgetEnabled.getName() )); config.setCategoryPropertyOrder(CATEGORY_WIDGETS, propOrderWidgets); @@ -299,6 +303,7 @@ private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFro coordsModEnabled.setConfigEntryClass(BooleanEntry.class); mainMenuModEnabled.setConfigEntryClass(BooleanEntry.class); toggleSprintModEnabled.setConfigEntryClass(BooleanEntry.class); + toggleSneakModEnabled.setConfigEntryClass(BooleanEntry.class); bedwarsResourcesModEnabled.setConfigEntryClass(BooleanEntry.class); cpsModEnabled.setConfigEntryClass(BooleanEntry.class); displayModEnabled.setConfigEntryClass(BooleanEntry.class); @@ -306,7 +311,7 @@ private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFro pingModEnabled.setConfigEntryClass(BooleanEntry.class); particleModEnabled.setConfigEntryClass(BooleanEntry.class); - toggleSprintModEnabled.setConfigEntryClass(BooleanEntry.class); + toggleSprintWidgetEnabled.setConfigEntryClass(BooleanEntry.class); mainMenuChroma.setConfigEntryClass(BooleanEntry.class); @@ -346,6 +351,7 @@ private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFro ModConfiguration.coordsModEnabled = coordsModEnabled.getBoolean(); ModConfiguration.mainMenuModEnabled = mainMenuModEnabled.getBoolean(); ModConfiguration.toggleSprintModEnabled = toggleSprintModEnabled.getBoolean(); + ModConfiguration.toggleSneakModEnabled = toggleSneakModEnabled.getBoolean(); ModConfiguration.bedwarsResourcesModEnabled = bedwarsResourcesModEnabled.getBoolean(); ModConfiguration.cpsModEnabled = cpsModEnabled.getBoolean(); ModConfiguration.displayModEnabled = displayModEnabled.getBoolean(); @@ -390,6 +396,7 @@ private static void syncConfig(boolean loadConfigFromFile, boolean readFieldsFro coordsModEnabled.set(ModConfiguration.coordsModEnabled); mainMenuModEnabled.set(ModConfiguration.mainMenuModEnabled); toggleSprintModEnabled.set(ModConfiguration.toggleSprintModEnabled); + toggleSneakModEnabled.set(ModConfiguration.toggleSneakModEnabled); bedwarsResourcesModEnabled.set(ModConfiguration.bedwarsResourcesModEnabled); cpsModEnabled.set(ModConfiguration.cpsModEnabled); displayModEnabled.set(ModConfiguration.displayModEnabled);