diff --git a/src/main/java/com/atsuishio/superbwarfare/config/ServerConfig.java b/src/main/java/com/atsuishio/superbwarfare/config/ServerConfig.java index 6015c455d..df8d8a45d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/config/ServerConfig.java +++ b/src/main/java/com/atsuishio/superbwarfare/config/ServerConfig.java @@ -1,9 +1,6 @@ package com.atsuishio.superbwarfare.config; -import com.atsuishio.superbwarfare.config.server.ExplosionConfig; -import com.atsuishio.superbwarfare.config.server.ProjectileConfig; -import com.atsuishio.superbwarfare.config.server.SpawnConfig; -import com.atsuishio.superbwarfare.config.server.VehicleConfig; +import com.atsuishio.superbwarfare.config.server.*; import net.minecraftforge.common.ForgeConfigSpec; public class ServerConfig { @@ -15,6 +12,7 @@ public class ServerConfig { ProjectileConfig.init(builder); ExplosionConfig.init(builder); VehicleConfig.init(builder); + MiscConfig.init(builder); return builder.build(); } diff --git a/src/main/java/com/atsuishio/superbwarfare/config/server/MiscConfig.java b/src/main/java/com/atsuishio/superbwarfare/config/server/MiscConfig.java new file mode 100644 index 000000000..63fede1dc --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/config/server/MiscConfig.java @@ -0,0 +1,17 @@ +package com.atsuishio.superbwarfare.config.server; + +import net.minecraftforge.common.ForgeConfigSpec; + +public class MiscConfig { + + public static ForgeConfigSpec.BooleanValue ALLOW_TACTICAL_SPRINT; + + public static void init(ForgeConfigSpec.Builder builder) { + builder.push("misc"); + + builder.comment("Set true to enable tactical sprint"); + ALLOW_TACTICAL_SPRINT = builder.define("allow_tactical_sprint", true); + + builder.pop(); + } +} diff --git a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java index 0ec98fb2a..606e9f60f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.event; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.config.common.GameplayConfig; +import com.atsuishio.superbwarfare.config.server.MiscConfig; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.init.ModTags; @@ -162,8 +163,10 @@ public class PlayerEventHandler { capability.tacticalSprintTime = Mth.clamp(player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).tacticalSprintTime - sprintCost, 0, 1000); capability.syncPlayerVariables(player); }); - player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 2, 0, false, false)); + if (MiscConfig.ALLOW_TACTICAL_SPRINT.get()) { + player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 2, 0, false, false)); + } } else { player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { capability.tacticalSprintTime = Mth.clamp(player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).tacticalSprintTime + 7, 0, 1000);