BetterControlsConfig.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package chylex.bettercontrols.config;
  2. import chylex.bettercontrols.input.KeyBindingWithModifier;
  3. import chylex.bettercontrols.input.SprintMode;
  4. import net.minecraft.client.options.KeyBinding;
  5. import java.nio.file.Path;
  6. public final class BetterControlsConfig{
  7. public static BetterControlsConfig load(final Path path){
  8. return ConfigSerializer.deserialize(path).setPath(path);
  9. }
  10. private Path path;
  11. public final KeyBindingWithModifier keyToggleSprint = new KeyBindingWithModifier("key.bettercontrols.toggle_sprint");
  12. public SprintMode sprintMode = SprintMode.TAP_TO_START;
  13. public boolean doubleTapForwardToSprint = true;
  14. public boolean resumeSprintingAfterHittingObstacle = false;
  15. public final KeyBindingWithModifier keyToggleSneak = new KeyBindingWithModifier("key.bettercontrols.toggle_sneak");
  16. public boolean sneakingMovesCameraSmoothly = true;
  17. public final KeyBindingWithModifier keyToggleFlight = new KeyBindingWithModifier("key.bettercontrols.toggle_flight");
  18. public SprintMode sprintModeWhileFlying = SprintMode.TAP_TO_START;
  19. public boolean flyOnGroundInCreative = false;
  20. public float flightSpeedMpCreativeDefault = 1F;
  21. public float flightSpeedMpCreativeSprinting = 2F;
  22. public float flightSpeedMpSpectatorDefault = 1F;
  23. public float flightSpeedMpSpectatorSprinting = 2F;
  24. public final KeyBindingWithModifier keyToggleWalkForward = new KeyBindingWithModifier("key.bettercontrols.toggle_forward");
  25. public final KeyBindingWithModifier keyToggleJump = new KeyBindingWithModifier("key.bettercontrols.toggle_jump");
  26. public final KeyBindingWithModifier keyResetAllToggles = new KeyBindingWithModifier("key.bettercontrols.reset_all_toggles");
  27. public final KeyBindingWithModifier keyOpenMenu = new KeyBindingWithModifier("key.bettercontrols.open_menu");
  28. BetterControlsConfig(){}
  29. private BetterControlsConfig setPath(final Path path){
  30. this.path = path;
  31. return this;
  32. }
  33. public KeyBinding[] getAllKeyBindings(){
  34. return new KeyBinding[]{
  35. keyToggleSprint,
  36. keyToggleSneak,
  37. keyToggleFlight,
  38. keyToggleWalkForward,
  39. keyToggleJump,
  40. keyResetAllToggles,
  41. keyOpenMenu
  42. };
  43. }
  44. public void save(){
  45. ConfigSerializer.serialize(path, this);
  46. }
  47. }