From fc1670719908adb87466a8dbd59704d8dd79255c Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sat, 19 Apr 2025 03:02:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=88=98=E6=9C=AF=E5=86=B2?= =?UTF-8?q?=E5=88=BA=E8=AE=BE=E7=BD=AE=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/model/item/MinigunItemModel.java | 2 +- .../superbwarfare/event/ClientEventHandler.java | 12 +++++++----- .../superbwarfare/event/PlayerEventHandler.java | 2 +- .../network/message/send/TacticalSprintMessage.java | 3 ++- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java index 193471d42..0acca9330 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MinigunItemModel.java @@ -51,7 +51,7 @@ public class MinigunItemModel extends GeoModel { int rpm = GunData.from(stack).rpm(); - gun.setRotZ((float) (gun.getRotZ() + times * -0.07f * ((float) rpm / 1200) * ClientEventHandler.shootDelay)); + gun.setRotZ(gun.getRotZ() + times * -0.07f * ((float) rpm / 1200) * ClientEventHandler.shootDelay); shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java index 007c61e40..faf1fd609 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java @@ -314,11 +314,13 @@ public class ClientEventHandler { return; } - tacticalSprint = !exhaustion && !zoom && isMoving() && player.isSprinting() && player.getVehicle() == null && !player.getAbilities().flying; - - if (!MiscConfig.ALLOW_TACTICAL_SPRINT.get()) { - tacticalSprint = false; - } + tacticalSprint = MiscConfig.ALLOW_TACTICAL_SPRINT.get() + && !exhaustion + && !zoom + && isMoving() + && player.isSprinting() + && player.getVehicle() == null + && !player.getAbilities().flying; ItemStack stack = player.getMainHandItem(); diff --git a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java index 53cf722fe..a1275be8f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java @@ -164,7 +164,7 @@ public class PlayerEventHandler { attr.removeModifier(TACTICAL_SPRINT); } - if (player.getData(ModAttachments.PLAYER_VARIABLE).tacticalSprint) { + if (MiscConfig.ALLOW_TACTICAL_SPRINT.get() && player.getData(ModAttachments.PLAYER_VARIABLE).tacticalSprint) { player.setSprinting(true); attr.addTransientModifier(new AttributeModifier(TACTICAL_SPRINT, 0.25, AttributeModifier.Operation.ADD_MULTIPLIED_BASE)); } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/TacticalSprintMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/TacticalSprintMessage.java index 539508a04..cb3e2ad11 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/TacticalSprintMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/TacticalSprintMessage.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.network.message.send; import com.atsuishio.superbwarfare.Mod; +import com.atsuishio.superbwarfare.config.server.MiscConfig; import com.atsuishio.superbwarfare.init.ModAttachments; import io.netty.buffer.ByteBuf; import net.minecraft.network.codec.ByteBufCodecs; @@ -22,7 +23,7 @@ public record TacticalSprintMessage(boolean sprint) implements CustomPacketPaylo var player = context.player(); var cap = player.getData(ModAttachments.PLAYER_VARIABLE).watch(); - cap.tacticalSprint = message.sprint; + cap.tacticalSprint = MiscConfig.ALLOW_TACTICAL_SPRINT.get() && message.sprint; cap.sync(player); }