|
@@ -1,4 +1,5 @@
|
|
|
package chylex.bettercontrols.config;
|
|
|
+import chylex.bettercontrols.input.SprintMode;
|
|
|
import com.google.gson.Gson;
|
|
|
import com.google.gson.GsonBuilder;
|
|
|
import com.google.gson.JsonDeserializationContext;
|
|
@@ -32,14 +33,15 @@ final class ConfigSerializer implements JsonSerializer<BetterControlsConfig>, Js
|
|
|
final JsonObject obj = new JsonObject();
|
|
|
|
|
|
Json.writeKeyBinding(obj, "Sprint.KeyToggle", cfg.keyToggleSprint);
|
|
|
+ Json.setEnum(obj, "Sprint.Mode", cfg.sprintMode);
|
|
|
Json.setBool(obj, "Sprint.DoubleTapForward", cfg.doubleTapForwardToSprint);
|
|
|
- Json.setBool(obj, "Sprint.TapToStop", cfg.tapSprintKeyAgainToStopSprinting);
|
|
|
Json.setBool(obj, "Sprint.ResumeAfterHittingObstacle", cfg.resumeSprintingAfterHittingObstacle);
|
|
|
|
|
|
Json.writeKeyBinding(obj, "Sneak.KeyToggle", cfg.keyToggleSneak);
|
|
|
Json.setBool(obj, "Sneak.SmoothCamera", cfg.sneakingMovesCameraSmoothly);
|
|
|
|
|
|
Json.writeKeyBinding(obj, "Flight.KeyToggle.Creative", cfg.keyToggleFlight);
|
|
|
+ Json.setEnum(obj, "Flight.SprintMode", cfg.sprintModeWhileFlying);
|
|
|
Json.setBool(obj, "Flight.FlyOnGround.Creative", cfg.flyOnGroundInCreative);
|
|
|
Json.setFloat(obj, "Flight.SpeedMp.Creative.Default", cfg.flightSpeedMpCreativeDefault);
|
|
|
Json.setFloat(obj, "Flight.SpeedMp.Creative.Sprinting", cfg.flightSpeedMpCreativeSprinting);
|
|
@@ -58,15 +60,20 @@ final class ConfigSerializer implements JsonSerializer<BetterControlsConfig>, Js
|
|
|
final BetterControlsConfig cfg = new BetterControlsConfig();
|
|
|
final JsonObject obj = json.getAsJsonObject();
|
|
|
|
|
|
+ if (obj.has("Sprint.TapToStop") && obj.get("Sprint.TapToStop").getAsBoolean()){
|
|
|
+ cfg.sprintMode = SprintMode.TAP_TO_TOGGLE;
|
|
|
+ }
|
|
|
+
|
|
|
Json.readKeyBinding(obj, "Sprint.KeyToggle", cfg.keyToggleSprint);
|
|
|
+ cfg.sprintMode = Json.getEnum(obj, "Sprint.Mode", cfg.sprintMode, SprintMode.class);
|
|
|
cfg.doubleTapForwardToSprint = Json.getBool(obj, "Sprint.DoubleTapForward", cfg.doubleTapForwardToSprint);
|
|
|
- cfg.tapSprintKeyAgainToStopSprinting = Json.getBool(obj, "Sprint.TapToStop", cfg.tapSprintKeyAgainToStopSprinting);
|
|
|
cfg.resumeSprintingAfterHittingObstacle = Json.getBool(obj, "Sprint.ResumeAfterHittingObstacle", cfg.resumeSprintingAfterHittingObstacle);
|
|
|
|
|
|
Json.readKeyBinding(obj, "Sneak.KeyToggle", cfg.keyToggleSneak);
|
|
|
cfg.sneakingMovesCameraSmoothly = Json.getBool(obj, "Sneak.SmoothCamera", cfg.sneakingMovesCameraSmoothly);
|
|
|
|
|
|
Json.readKeyBinding(obj, "Flight.KeyToggle.Creative", cfg.keyToggleFlight);
|
|
|
+ cfg.sprintModeWhileFlying = Json.getEnum(obj, "Flight.SprintMode", cfg.sprintModeWhileFlying, SprintMode.class);
|
|
|
cfg.flyOnGroundInCreative = Json.getBool(obj, "Flight.FlyOnGround.Creative", cfg.flyOnGroundInCreative);
|
|
|
cfg.flightSpeedMpCreativeDefault = MathHelper.clamp(Json.getFloat(obj, "Flight.SpeedMp.Creative.Default", cfg.flightSpeedMpCreativeDefault), 0.25F, 8F);
|
|
|
cfg.flightSpeedMpCreativeSprinting = MathHelper.clamp(Json.getFloat(obj, "Flight.SpeedMp.Creative.Sprinting", cfg.flightSpeedMpCreativeSprinting), 0.25F, 8F);
|