1
0
mirror of https://github.com/chylex/Better-Controls.git synced 2025-05-05 19:34:05 +02:00

Add key binding to reset all toggles at once

This commit is contained in:
chylex 2020-10-26 20:55:56 +01:00
parent 04c789a50e
commit 90c3379d57
6 changed files with 21 additions and 0 deletions
src/main
java/chylex/bettercontrols
resources/assets/bettercontrols/lang

View File

@ -29,6 +29,7 @@ public final class BetterControlsConfig{
public final KeyBindingWithModifier keyToggleWalkForward = new KeyBindingWithModifier("key.bettercontrols.toggle_forward");
public final KeyBindingWithModifier keyToggleJump = new KeyBindingWithModifier("key.bettercontrols.toggle_jump");
public final KeyBindingWithModifier keyResetAllToggles = new KeyBindingWithModifier("key.bettercontrols.reset_all_toggles");
public final KeyBindingWithModifier keyOpenMenu = new KeyBindingWithModifier("key.bettercontrols.open_menu");
BetterControlsConfig(){}
@ -45,6 +46,7 @@ public final class BetterControlsConfig{
keyToggleFlight,
keyToggleWalkForward,
keyToggleJump,
keyResetAllToggles,
keyOpenMenu
};
}

View File

@ -50,6 +50,7 @@ final class ConfigSerializer implements JsonSerializer<BetterControlsConfig>, Js
Json.writeKeyBinding(obj, "Misc.KeyToggleWalkForward", cfg.keyToggleWalkForward);
Json.writeKeyBinding(obj, "Misc.KeyToggleJump", cfg.keyToggleJump);
Json.writeKeyBinding(obj, "Misc.KeyResetAllToggles", cfg.keyResetAllToggles);
Json.writeKeyBinding(obj, "Misc.KeyOpenMenu", cfg.keyOpenMenu);
return obj;
@ -82,6 +83,7 @@ final class ConfigSerializer implements JsonSerializer<BetterControlsConfig>, Js
Json.readKeyBinding(obj, "Misc.KeyToggleWalkForward", cfg.keyToggleWalkForward);
Json.readKeyBinding(obj, "Misc.KeyToggleJump", cfg.keyToggleJump);
Json.readKeyBinding(obj, "Misc.KeyResetAllToggles", cfg.keyResetAllToggles);
Json.readKeyBinding(obj, "Misc.KeyOpenMenu", cfg.keyOpenMenu);
return cfg;

View File

@ -148,6 +148,10 @@ public class BetterControlsScreen extends GameOptionsScreen{
generateKeyBindingWithModifierOption(y, elements, Text.of("Toggle Jump"), cfg.keyToggleJump);
y += ROW_HEIGHT;
generateKeyBindingWithModifierOption(y, elements, Text.of("Reset All Toggles"), cfg.keyResetAllToggles);
y += ROW_HEIGHT * 4 / 3;
generateKeyBindingWithModifierOption(y, elements, Text.of("Open Better Controls Menu"), cfg.keyOpenMenu);

View File

@ -80,4 +80,9 @@ public class ToggleTracker{
protected boolean isResetKeyPressed(){
return bindingReset.isPressed();
}
public void reset(){
isToggled = false;
waitForRelease = false;
}
}

View File

@ -255,6 +255,13 @@ public final class PlayerTicker{
}
}
if (cfg().keyResetAllToggles.wasPressed()){
toggleSprint.reset();
toggleSneak.reset();
toggleWalkForward.reset();
toggleJump.reset();
}
if (cfg().keyOpenMenu.isPressed()){
mc().openScreen(new BetterControlsScreen(null));
}

View File

@ -5,5 +5,6 @@
"key.bettercontrols.toggle_flight": "Toggle Flight",
"key.bettercontrols.toggle_forward": "Toggle Walk Forwards",
"key.bettercontrols.toggle_jump": "Toggle Jump",
"key.bettercontrols.reset_all_toggles": "Reset All Toggles",
"key.bettercontrols.open_menu": "Open Menu"
}