diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java index d61fc025f..bcea6d13d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java @@ -199,6 +199,9 @@ public class ClickHandler { if (key == Minecraft.getInstance().options.keyJump.getKey().getValue()) { handleDoubleJump(player); + if (player.onGround()) { + stamina += 5; + } } if (key == ModKeyMappings.RELOAD.getKey().getValue()) { @@ -389,6 +392,7 @@ public class ClickHandler { ClientEventHandler.zoom = false; ClientEventHandler.zoomVehicle = false; ClientEventHandler.entity = null; + breath = false; } private static void editModelShake() { diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java index 7a12b988a..a2cd4e7d1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java @@ -295,12 +295,14 @@ public class ClientEventHandler { //耐力 public static void staminaSystem() { + if (notInGame()) return; + LocalPlayer player = Minecraft.getInstance().player; if (player == null) { return; } - tacticalSprint = !exhaustion && !zoom && isMoving() && player.isSprinting() && player.getVehicle() == null && player.onGround(); + tacticalSprint = !exhaustion && !zoom && isMoving() && player.isSprinting() && player.getVehicle() == null && player.onGround() && !player.getAbilities().flying; ItemStack stack = player.getMainHandItem(); @@ -331,7 +333,7 @@ public class ClientEventHandler { exhaustion = false; } - if ((ModKeyMappings.BREATH.isDown() && zoom) || tacticalSprint) { + if ((ModKeyMappings.BREATH.isDown() && zoom) || (tacticalSprint)) { switchTime = Math.min(switchTime + 0.65, 5); } else if (switchTime > 0 && stamina == 0) { switchTime = Math.max(switchTime - 0.15, 0);