BetterControlsConfig.java 1.4 KB

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