BetterControlsConfig.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 keyOpenMenu = new KeyBindingWithModifier("key.bettercontrols.open_menu");
  19. BetterControlsConfig(){}
  20. private BetterControlsConfig setPath(final Path path){
  21. this.path = path;
  22. return this;
  23. }
  24. public KeyBinding[] getAllKeyBindings(){
  25. return new KeyBinding[]{
  26. keyOpenMenu
  27. };
  28. }
  29. public void save(){
  30. ConfigSerializer.serialize(path, this);
  31. }
  32. }