添加战术冲刺的配置

This commit is contained in:
17146 2025-03-20 20:50:22 +08:00
parent 1fcb0e2735
commit 18a3e01e45
3 changed files with 23 additions and 5 deletions

View file

@ -1,9 +1,6 @@
package com.atsuishio.superbwarfare.config; package com.atsuishio.superbwarfare.config;
import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.*;
import com.atsuishio.superbwarfare.config.server.ProjectileConfig;
import com.atsuishio.superbwarfare.config.server.SpawnConfig;
import com.atsuishio.superbwarfare.config.server.VehicleConfig;
import net.minecraftforge.common.ForgeConfigSpec; import net.minecraftforge.common.ForgeConfigSpec;
public class ServerConfig { public class ServerConfig {
@ -15,6 +12,7 @@ public class ServerConfig {
ProjectileConfig.init(builder); ProjectileConfig.init(builder);
ExplosionConfig.init(builder); ExplosionConfig.init(builder);
VehicleConfig.init(builder); VehicleConfig.init(builder);
MiscConfig.init(builder);
return builder.build(); return builder.build();
} }

View file

@ -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();
}
}

View file

@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.event;
import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.ModUtils;
import com.atsuishio.superbwarfare.config.common.GameplayConfig; 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.ModItems;
import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.init.ModSounds;
import com.atsuishio.superbwarfare.init.ModTags; 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.tacticalSprintTime = Mth.clamp(player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).tacticalSprintTime - sprintCost, 0, 1000);
capability.syncPlayerVariables(player); 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 { } else {
player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { 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); capability.tacticalSprintTime = Mth.clamp(player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).tacticalSprintTime + 7, 0, 1000);