From d585e9852d42516deeb501bae9e6bb9c48e25791 Mon Sep 17 00:00:00 2001 From: Atsuishio <842960157@qq.com> Date: Fri, 11 Apr 2025 00:46:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=86=99=E6=88=98=E6=9C=AF=E5=86=B2?= =?UTF-8?q?=E5=88=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capability/player/PlayerVariable.java | 14 --- .../client/ClientRenderHandler.java | 2 +- .../superbwarfare/client/PoseTool.java | 2 +- .../client/overlay/CrossHairOverlay.java | 4 +- ...BreathOverlay.java => StaminaOverlay.java} | 10 +- .../event/ClientEventHandler.java | 100 ++++++++++++++---- .../event/LivingEventHandler.java | 7 -- .../event/PlayerEventHandler.java | 89 ---------------- .../item/gun/handgun/Glock17Item.java | 5 +- .../item/gun/handgun/Glock18Item.java | 5 +- .../item/gun/handgun/M1911Item.java | 5 +- .../item/gun/handgun/Mp443Item.java | 5 +- .../item/gun/handgun/Trachelium.java | 11 +- .../item/gun/heavy/Ntw20Item.java | 5 +- .../item/gun/launcher/JavelinItem.java | 5 +- .../item/gun/launcher/M79Item.java | 5 +- .../item/gun/launcher/RpgItem.java | 5 +- .../item/gun/launcher/SecondaryCataclysm.java | 5 +- .../item/gun/machinegun/DevotionItem.java | 5 +- .../item/gun/machinegun/M60Item.java | 5 +- .../item/gun/machinegun/MinigunItem.java | 5 +- .../item/gun/machinegun/RpkItem.java | 5 +- .../item/gun/rifle/AK12Item.java | 5 +- .../item/gun/rifle/AK47Item.java | 5 +- .../item/gun/rifle/Hk416Item.java | 5 +- .../item/gun/rifle/InsidiousItem.java | 5 +- .../superbwarfare/item/gun/rifle/M4Item.java | 5 +- .../item/gun/rifle/MarlinItem.java | 5 +- .../item/gun/rifle/Mk14Item.java | 5 +- .../item/gun/rifle/Qbz95Item.java | 5 +- .../superbwarfare/item/gun/rifle/SksItem.java | 5 +- .../item/gun/shotgun/Aa12Item.java | 5 +- .../item/gun/shotgun/HomemadeShotgunItem.java | 5 +- .../item/gun/shotgun/M870Item.java | 5 +- .../item/gun/smg/VectorItem.java | 5 +- .../item/gun/sniper/HuntingRifleItem.java | 5 +- .../item/gun/sniper/K98Item.java | 5 +- .../item/gun/sniper/M98bItem.java | 7 +- .../item/gun/sniper/MosinNagantItem.java | 5 +- .../item/gun/sniper/SentinelItem.java | 7 +- .../item/gun/sniper/SvdItem.java | 5 +- .../item/gun/special/BocekItem.java | 5 +- .../item/gun/special/TaserItem.java | 5 +- 43 files changed, 162 insertions(+), 251 deletions(-) rename src/main/java/com/atsuishio/superbwarfare/client/overlay/{BreathOverlay.java => StaminaOverlay.java} (89%) diff --git a/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java b/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java index 0b2a42914..4a75b73ff 100644 --- a/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java +++ b/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java @@ -27,9 +27,6 @@ public class PlayerVariable implements INBTSerializable { public int sniperAmmo = 0; public int heavyAmmo = 0; public boolean playerDoubleJump = false; - public boolean tacticalSprint = false; - public int tacticalSprintTime = 600; - public boolean tacticalSprintExhaustion = false; public boolean edit = false; public void sync(Entity entity) { @@ -63,9 +60,6 @@ public class PlayerVariable implements INBTSerializable { } nbt.putBoolean("DoubleJump", playerDoubleJump); - nbt.putBoolean("TacticalSprint", tacticalSprint); - nbt.putInt("TacticalSprintTime", tacticalSprintTime); - nbt.putBoolean("TacticalSprintExhaustion", tacticalSprintExhaustion); nbt.putBoolean("EditMode", edit); return nbt; @@ -77,9 +71,6 @@ public class PlayerVariable implements INBTSerializable { } playerDoubleJump = tag.getBoolean("DoubleJump"); - tacticalSprint = tag.getBoolean("TacticalSprint"); - tacticalSprintTime = tag.getInt("TacticalSprintTime"); - tacticalSprintExhaustion = tag.getBoolean("TacticalSprintExhaustion"); edit = tag.getBoolean("EditMode"); return this; @@ -94,9 +85,6 @@ public class PlayerVariable implements INBTSerializable { clone.sniperAmmo = this.sniperAmmo; clone.heavyAmmo = this.heavyAmmo; clone.playerDoubleJump = this.playerDoubleJump; - clone.tacticalSprint = this.tacticalSprint; - clone.tacticalSprintTime = this.tacticalSprintTime; - clone.tacticalSprintExhaustion = this.tacticalSprintExhaustion; clone.edit = this.edit; return clone; @@ -112,8 +100,6 @@ public class PlayerVariable implements INBTSerializable { && sniperAmmo == other.sniperAmmo && heavyAmmo == other.heavyAmmo && playerDoubleJump == other.playerDoubleJump - && tacticalSprint == other.tacticalSprint - && tacticalSprintExhaustion == other.tacticalSprintExhaustion && edit == other.edit; } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ClientRenderHandler.java b/src/main/java/com/atsuishio/superbwarfare/client/ClientRenderHandler.java index b1720a07b..e3d5fbddf 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ClientRenderHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ClientRenderHandler.java @@ -57,7 +57,7 @@ public class ClientRenderHandler { event.registerBelowAll(HandsomeFrameOverlay.ID, new HandsomeFrameOverlay()); event.registerBelowAll(SpyglassRangeOverlay.ID, new SpyglassRangeOverlay()); event.registerBelowAll(HelicopterHudOverlay.ID, new HelicopterHudOverlay()); - event.registerBelowAll(BreathOverlay.ID, new BreathOverlay()); + event.registerBelowAll(StaminaOverlay.ID, new StaminaOverlay()); event.registerBelowAll(MortarInfoOverlay.ID, new MortarInfoOverlay()); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/PoseTool.java b/src/main/java/com/atsuishio/superbwarfare/client/PoseTool.java index 10f1657d5..4819d627c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/PoseTool.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/PoseTool.java @@ -20,7 +20,7 @@ public class PoseTool { } } - if (entityLiving.isSprinting() && entityLiving.onGround() && entityLiving.getPersistentData().getDouble("noRun") == 0) { + if (entityLiving.isSprinting() && entityLiving.onGround()) { return HumanoidModel.ArmPose.CROSSBOW_CHARGE; } else { return HumanoidModel.ArmPose.BOW_AND_ARROW; diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/CrossHairOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/CrossHairOverlay.java index c2e0a71d0..28082c724 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/CrossHairOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/CrossHairOverlay.java @@ -97,7 +97,7 @@ public class CrossHairOverlay implements LayeredDraw.Layer { if (shouldRenderCrossHair(player) || (Minecraft.getInstance().options.getCameraType() == CameraType.FIRST_PERSON && stack.is(ModItems.MINIGUN.get())) || (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK && (ClientEventHandler.zoomTime > 0 || ClientEventHandler.pullPos > 0))) { preciseBlit(guiGraphics, Mod.loc("textures/screens/point.png"), w / 2f - 7.5f + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16); - if (!player.isSprinting() || player.getPersistentData().getDouble("noRun") > 0) { + if (!player.isSprinting() || ClientEventHandler.cantSprint > 0) { if (stack.is(ModTags.Items.SHOTGUN)) { if (perk instanceof AmmoPerk ammoPerk && ammoPerk.slug) { normalCrossHair(guiGraphics, w, h, spread, moveX, moveY); @@ -113,7 +113,7 @@ public class CrossHairOverlay implements LayeredDraw.Layer { if (stack.is(ModItems.BOCEK.get())) { if (ClientEventHandler.zoomPos < 0.7) { preciseBlit(guiGraphics, Mod.loc("textures/screens/point.png"), w / 2f - 7.5f + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16); - if (!player.isSprinting() || player.getPersistentData().getDouble("noRun") > 0 || ClientEventHandler.pullPos > 0) { + if (!player.isSprinting() || ClientEventHandler.cantSprint > 0 || ClientEventHandler.pullPos > 0) { if (ClientEventHandler.zoomTime < 0.1) { if (perk instanceof AmmoPerk ammoPerk && ammoPerk.slug) { normalCrossHair(guiGraphics, w, h, spread, moveX, moveY); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/BreathOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/StaminaOverlay.java similarity index 89% rename from src/main/java/com/atsuishio/superbwarfare/client/overlay/BreathOverlay.java rename to src/main/java/com/atsuishio/superbwarfare/client/overlay/StaminaOverlay.java index 3b15c9dd0..46832ef6e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/BreathOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/StaminaOverlay.java @@ -21,9 +21,9 @@ import net.neoforged.api.distmarker.OnlyIn; import javax.annotation.ParametersAreNonnullByDefault; @OnlyIn(Dist.CLIENT) -public class BreathOverlay implements LayeredDraw.Layer { +public class StaminaOverlay implements LayeredDraw.Layer { - public static final ResourceLocation ID = Mod.loc("breath"); + public static final ResourceLocation ID = Mod.loc("stamina"); @Override @ParametersAreNonnullByDefault @@ -45,15 +45,15 @@ public class BreathOverlay implements LayeredDraw.Layer { RenderSystem.enableBlend(); RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); - RenderSystem.setShaderColor(1, 1, 1, (float) Mth.clamp(ClientEventHandler.breathSwitchTime, 0, 1)); + RenderSystem.setShaderColor(1, 1, 1, (float) Mth.clamp(ClientEventHandler.switchTime, 0, 1)); guiGraphics.fill(RenderType.guiOverlay(), w / 2 - 64, h / 2 + 100, w / 2 + 64, h / 2 + 101, -90, -16777216); - guiGraphics.fill(RenderType.guiOverlay(), w / 2 - 64, h / 2 + 100, w / 2 + 64 - (int) (1.28 * ClientEventHandler.breathTime), h / 2 + 101, -90, -1); + guiGraphics.fill(RenderType.guiOverlay(), w / 2 - 64, h / 2 + 100, w / 2 + 64 - (int) (1.28 * ClientEventHandler.switchTime), h / 2 + 101, -90, -1); guiGraphics.pose().popPose(); } private static boolean shouldRenderCrossHair(Player player) { if (player == null) return false; - return ClientEventHandler.breathSwitchTime > 0; + return ClientEventHandler.switchTime > 0; } } diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java index 1dbf8758b..90fab7eb0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java @@ -122,9 +122,11 @@ public class ClientEventHandler { public static boolean zoom = false; public static boolean breath = false; - public static int breathTime = 0; - public static double breathSwitchTime = 0; - public static boolean breathExhaustion = false; + + public static boolean tacticalSprint = false; + public static float stamina = 0; + public static double switchTime = 0; + public static boolean exhaustion = false; public static boolean holdFireVehicle = false; public static boolean zoomVehicle = false; @@ -159,6 +161,7 @@ public class ClientEventHandler { public static float cameraPitch; public static float cameraYaw; public static float cameraRoll; + public static float cantSprint = 0; @SubscribeEvent @@ -279,38 +282,92 @@ public class ClientEventHandler { handleVariableDecrease(); aimAtVillager(player); - gunBreath(); + staminaSystem(); + handlePlayerSprint(); } - //屏息 - public static void gunBreath() { - if (!breathExhaustion && zoom) { + + //耐力 + public static void staminaSystem() { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) { + return; + } + + if (!exhaustion && zoom) { breath = ModKeyMappings.BREATH.isDown(); } + tacticalSprint = !exhaustion && !zoom && isMoving() && player.isSprinting() && player.getVehicle() == null && player.onGround(); + + ItemStack stack = player.getMainHandItem(); + + float sprintCost; + + if (stack.is(ModTags.Items.GUN)) { + var data = GunData.from(stack); + sprintCost = (float) (0.5 + 0.02 * data.weight()); + } else { + sprintCost = 0.5f; + } + if (breath) { - breathTime++; - } else if (breathTime > 0) { - breathTime--; + stamina += 0.5f; + } else if (tacticalSprint) { + stamina += sprintCost; + } else if (stamina > 0) { + stamina = Math.max(stamina - 0.5f, 0); } - if (breathTime >= 100) { - breathExhaustion = true; + if (stamina >= 100) { + exhaustion = true; breath = false; + tacticalSprint = false; } - if (breathExhaustion && breathTime == 0) { - breathExhaustion = false; + if (exhaustion && stamina <= 0) { + exhaustion = false; } - if (ModKeyMappings.BREATH.isDown() && zoom) { - breathSwitchTime = Math.min(breathSwitchTime + 0.5, 5); - } else if (breathSwitchTime > 0 && breathTime == 0) { - breathSwitchTime -= 0.15; + if (ModKeyMappings.BREATH.isDown() || tacticalSprint) { + switchTime = Math.min(switchTime + 0.65, 5); + } else if (switchTime > 0 && stamina == 0) { + switchTime = Math.max(switchTime - 0.15, 0); } if (!zoom) { breath = false; + } else { + tacticalSprint = false; + } + + if (tacticalSprint && player.onGround()) { + player.setDeltaMovement(player.getDeltaMovement().multiply(1.2, 1, 1.2)); + } + } + + /** + * 禁止玩家奔跑 + */ + private static void handlePlayerSprint() { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) { + return; + } + + if (player.isShiftKeyDown() + || player.isPassenger() + || player.isInWater() + || ClientEventHandler.zoom) { + cantSprint = 3; + } + + if (cantSprint > 0) { + cantSprint--; + } + + if (ClientEventHandler.zoom || ClientEventHandler.holdFire) { + player.setSprinting(false); } } @@ -469,7 +526,7 @@ public class ClientEventHandler { double weight = data.weight(); double speed = 1 - (0.04 * weight); - if (player.getPersistentData().getDouble("noRun") == 0 && player.isSprinting() && !zoom) { + if (ClientEventHandler.cantSprint == 0 && player.isSprinting() && !zoom) { cantFireTime = Mth.clamp(cantFireTime + 3 * times, 0, 24); } else { cantFireTime = Mth.clamp(cantFireTime - 6 * speed * times, 0, 40); @@ -676,6 +733,8 @@ public class ClientEventHandler { shellIndex++; } + cantSprint = 10; + shellIndexTime[shellIndex] = 0.001; randomShell[0] = (1 + 0.2 * (Math.random() - 0.5)); @@ -1099,7 +1158,7 @@ public class ClientEventHandler { && drawTime < 0.01 && !cap.edit) { if (Minecraft.getInstance().player != null) { - Minecraft.getInstance().player.getPersistentData().putDouble("noRun", 5); + cantSprint = 5; } if (cantFireTime <= 10) { zoomTime = Mth.clamp(zoomTime + 0.03 * speed * times, 0, 1); @@ -1536,6 +1595,7 @@ public class ClientEventHandler { bowTimer = 0; handTimer = 0; handPos = 0; + cantSprint = 20; } private static void handleWeaponDraw(LivingEntity entity) { diff --git a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java index 20ba81c50..a334a25f1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java @@ -392,7 +392,6 @@ public class LivingEventHandler { var newData = GunData.from(newStack); newTag = newData.tag(); - player.getPersistentData().putDouble("noRun", 40); newTag.putBoolean("draw", true); if (newData.bolt.defaultActionTime() > 0) { newData.bolt.setActionTime(0); @@ -415,8 +414,6 @@ public class LivingEventHandler { newData.charge.timer.reset(); } - var cap = player.getData(ModAttachments.PLAYER_VARIABLE).watch(); - int level = newData.perk.getLevel(ModPerks.KILLING_TALLY); if (level != 0) { GunsTool.setPerkIntTag(newTag, "KillingTally", 0); @@ -426,10 +423,6 @@ public class LivingEventHandler { PacketDistributor.sendToPlayer(serverPlayer, new DrawClientMessage(true)); } - cap.tacticalSprint = false; - player.setData(ModAttachments.PLAYER_VARIABLE, cap); - cap.sync(player); - newData.save(); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java index 9b78d8ab7..6b590efab 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/PlayerEventHandler.java @@ -1,7 +1,6 @@ package com.atsuishio.superbwarfare.event; import com.atsuishio.superbwarfare.config.common.GameplayConfig; -import com.atsuishio.superbwarfare.config.server.MiscConfig; import com.atsuishio.superbwarfare.init.ModAttachments; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModTags; @@ -16,9 +15,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; -import net.minecraft.util.Mth; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -58,12 +54,6 @@ public class PlayerEventHandler { public static void onPlayerRespawned(PlayerEvent.PlayerRespawnEvent event) { Player player = event.getEntity(); - var cap = player.getData(ModAttachments.PLAYER_VARIABLE).watch(); - cap.tacticalSprintExhaustion = false; - cap.tacticalSprintTime = 600; - player.setData(ModAttachments.PLAYER_VARIABLE, cap); - cap.sync(player); - handleRespawnReload(player); handleRespawnAutoArmor(player); @@ -83,91 +73,12 @@ public class PlayerEventHandler { public static void onPlayerTick(PlayerTickEvent.Post event) { Player player = event.getEntity(); ItemStack stack = player.getMainHandItem(); - var variable = player.getData(ModAttachments.PLAYER_VARIABLE).watch(); if (stack.is(ModTags.Items.GUN)) { - handlePlayerSprint(player); handleSpecialWeaponAmmo(player); } handleGround(player); - handleTacticalSprint(player); - - variable.sync(player); - } - - private static void handleTacticalSprint(Player player) { - var cap = player.getData(ModAttachments.PLAYER_VARIABLE).watch(); - - ItemStack stack = player.getMainHandItem(); - int sprintCost; - - if (stack.is(ModTags.Items.GUN)) { - var data = GunData.from(stack); - sprintCost = (int) (5 + 0.2 * data.weight()); - } else { - sprintCost = 5; - } - - if (!player.isSprinting()) { - cap.tacticalSprint = false; - player.getPersistentData().putBoolean("canTacticalSprint", true); - } - - if (player.isSprinting() - && !cap.tacticalSprintExhaustion - && player.getPersistentData().getBoolean("canTacticalSprint") - ) { - cap.tacticalSprint = true; - player.getPersistentData().putBoolean("canTacticalSprint", false); - } - - if (cap.tacticalSprint) { - cap.tacticalSprintTime = Mth.clamp(cap.tacticalSprintTime - sprintCost, 0, 1000); - - if (MiscConfig.ALLOW_TACTICAL_SPRINT.get()) { - player.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 2, 0, false, false)); - } - } else { - cap.tacticalSprintTime = Mth.clamp(cap.tacticalSprintTime + 7, 0, 1000); - } - - if (cap.tacticalSprintTime == 0) { - cap.tacticalSprintExhaustion = true; - cap.tacticalSprint = false; - } - - if (cap.tacticalSprintTime == 1000) { - cap.tacticalSprintExhaustion = false; - player.getPersistentData().putBoolean("canTacticalSprint", true); - } - - player.setData(ModAttachments.PLAYER_VARIABLE, cap); - } - - /** - * 判断玩家是否在奔跑 - */ - private static void handlePlayerSprint(Player player) { - if (!player.level().isClientSide) return; - - if (ClientEventHandler.holdFire) { - player.getPersistentData().putDouble("noRun", 10); - } - - if (player.isShiftKeyDown() - || player.isPassenger() - || player.isInWater() - || ClientEventHandler.zoom - ) player.getPersistentData().putDouble("noRun", 3); - - if (player.getPersistentData().getDouble("noRun") > 0) { - player.getPersistentData().putDouble("noRun", (player.getPersistentData().getDouble("noRun") - 1)); - } - - if (ClientEventHandler.zoom || ClientEventHandler.holdFire) { - player.setSprinting(false); - } } private static void handleGround(Player player) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java index 05f49c9ad..2415a5588 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -70,9 +69,9 @@ public class Glock17Item extends GunItem implements GeoItem { if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !(GunData.from(stack).reload.normal() || GunData.from(stack).reload.empty()) && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java index fae926c4a..6cc1d3279 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java @@ -14,7 +14,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -70,9 +69,9 @@ public class Glock18Item extends GunItem implements GeoItem { if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !(GunData.from(stack).reload.normal() || GunData.from(stack).reload.empty()) && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java index ebdde8198..36e8f7236 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -70,9 +69,9 @@ public class M1911Item extends GunItem implements GeoItem { if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !(GunData.from(stack).reload.normal() || GunData.from(stack).reload.empty()) && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java index 872fbe81d..afe2dd390 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -70,9 +69,9 @@ public class Mp443Item extends GunItem implements GeoItem { if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !(GunData.from(stack).reload.normal() || GunData.from(stack).reload.empty()) && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java index 743dfd3e8..d5688e9a5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java @@ -18,7 +18,6 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -141,16 +140,16 @@ public class Trachelium extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { if (stock) { if (grip) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run_fast_stock")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run_stock_grip")); } } else { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run_fast_stock")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run_stock")); @@ -158,13 +157,13 @@ public class Trachelium extends GunItem implements GeoItem { } } else { if (grip) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run_grip")); } } else { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.trachelium.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java index 1e6e48c2b..0e933c365 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java @@ -18,7 +18,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import software.bernie.geckolib.animatable.GeoItem; @@ -82,10 +81,10 @@ public class Ntw20Item extends GunItem implements GeoItem { var data = GunData.from(stack); if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !(data.reload.normal() || data.reload.empty()) && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && data.bolt.actionTime() == 0) { + if (ClientEventHandler.tacticalSprint && data.bolt.actionTime() == 0) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java index c90456664..15352ae5b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java @@ -27,7 +27,6 @@ import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.animal.Pig; import net.minecraft.world.entity.player.Player; @@ -81,8 +80,8 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.javelin.reload")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.javelin.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.javelin.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java index 0a8d87427..364cd8e5b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java @@ -25,7 +25,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; @@ -79,8 +78,8 @@ public class M79Item extends GunItem implements GeoItem, SpecialFireWeapon { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m79.reload")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m79.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m79.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java index 68246fe69..d15c48616 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java @@ -25,7 +25,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; @@ -82,8 +81,8 @@ public class RpgItem extends GunItem implements GeoItem, SpecialFireWeapon { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.rpg.reload")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.rpg.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.rpg.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java index 70f29b048..40a3c32f2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java @@ -22,7 +22,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlotGroup; import net.minecraft.world.entity.ai.attributes.AttributeModifier; @@ -119,7 +118,7 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireW var data = GunData.from(stack); if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !data.reload.empty() && data.reload.stage() != 1 && data.reload.stage() != 2 @@ -128,7 +127,7 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireW && ClientEventHandler.gunMelee == 0 && !data.reloading() ) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sc.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sc.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java index c4347c9f0..62a2f6f21 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java @@ -14,7 +14,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -58,8 +57,8 @@ public class DevotionItem extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.devotion.reload_normal")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.devotion.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.devotion.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java index dc472c6c8..d2989bd2b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java @@ -15,7 +15,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -77,8 +76,8 @@ public class M60Item extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m60.reload2")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m60.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m60.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java index 7d19a602c..c98bfd9ba 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java @@ -19,7 +19,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -79,8 +78,8 @@ public class MinigunItem extends GunItem implements GeoItem { ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.minigun.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.minigun.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java index 5bdf68f0d..232364015 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java @@ -18,7 +18,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -93,8 +92,8 @@ public class RpkItem extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.run_fast")); } else { if (grip) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java index 0dad8ca64..0b51c53ff 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK12Item.java @@ -17,7 +17,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -86,8 +85,8 @@ public class AK12Item extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak12.run_fast")); } else { if (grip) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java index 19224f87f..067494589 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/AK47Item.java @@ -17,7 +17,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -94,8 +93,8 @@ public class AK47Item extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.run_fast")); } else { if (grip) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java index 8f43636a1..62f0a9c4f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java @@ -17,7 +17,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -89,8 +88,8 @@ public class Hk416Item extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m4.run_fast")); } else { if (grip) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java index caff736a4..2d72dd89d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -55,8 +54,8 @@ public class InsidiousItem extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.insidious.reload")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.insidious.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.insidious.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java index 0496dc28f..c5464ed36 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java @@ -17,7 +17,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -90,8 +89,8 @@ public class M4Item extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m4.run_fast")); } else { if (grip) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java index fc08f2190..d5695cb12 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -83,10 +82,10 @@ public class MarlinItem extends GunItem implements GeoItem { if (transformType != null && transformType.firstPerson()) { if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01 && !data.reloading()) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.marlin.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.marlin.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java index 8a809b864..edf96b8dc 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java @@ -17,7 +17,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -91,8 +90,8 @@ public class Mk14Item extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m14.run_fast")); } else { if (grip) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java index 2f77ad596..11b26cca8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java @@ -17,7 +17,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -94,8 +93,8 @@ public class Qbz95Item extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.qbz95.run_fast")); } else { if (grip) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java index 60c1dcc9e..fbdcdcec2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java @@ -14,7 +14,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -68,8 +67,8 @@ public class SksItem extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sks.reload_normal")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sks.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sks.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java index fa7c09fc1..d79f4a82f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java @@ -16,7 +16,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -65,8 +64,8 @@ public class Aa12Item extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reload_normal")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java index c5ef485cc..4c0ebad96 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java @@ -14,7 +14,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -66,8 +65,8 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.reload_normal")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java index 31706737a..d42177169 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java @@ -14,7 +14,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -91,10 +90,10 @@ public class M870Item extends GunItem implements GeoItem { if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01 && !data.reloading()) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m870.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m870.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java index 5aa411c44..6768050c6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java @@ -16,7 +16,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -70,8 +69,8 @@ public class VectorItem extends GunItem implements GeoItem { } } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.vec.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.vec.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java index 03d5b574e..9fa02d221 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -58,8 +57,8 @@ public class HuntingRifleItem extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.hunting_rifle.reload")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.hunting_rifle.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.hunting_rifle.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java index 9a644c3cb..2403f7df5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -87,7 +86,7 @@ public class K98Item extends GunItem implements GeoItem { var data = GunData.from(stack); if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !data.reload.empty() && data.reload.stage() != 1 && data.reload.stage() != 2 @@ -95,7 +94,7 @@ public class K98Item extends GunItem implements GeoItem { && ClientEventHandler.drawTime < 0.01 && !data.reloading() ) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && data.bolt.actionTime() == 0) { + if (ClientEventHandler.tacticalSprint && data.bolt.actionTime() == 0) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.k98.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.k98.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java index eb6b38580..3d86f5aa7 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -49,7 +48,6 @@ public class M98bItem extends GunItem implements GeoItem { ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; var data = GunData.from(stack); - final var tag = data.tag(); if (data.bolt.actionTime() > 0) { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m98b.shift")); @@ -72,12 +70,11 @@ public class M98bItem extends GunItem implements GeoItem { ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; var data = GunData.from(stack); - final var tag = data.tag(); if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !(data.reload.normal() || data.reload.empty()) && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && data.bolt.actionTime() == 0) { + if (ClientEventHandler.tacticalSprint && data.bolt.actionTime() == 0) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m98b.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m98b.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java index b2180f20e..3a7058454 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java @@ -13,7 +13,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -85,7 +84,7 @@ public class MosinNagantItem extends GunItem implements GeoItem { var data = GunData.from(stack); if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !(GunData.from(stack).reload.empty()) && data.reload.stage() != 1 && data.reload.stage() != 2 @@ -93,7 +92,7 @@ public class MosinNagantItem extends GunItem implements GeoItem { && ClientEventHandler.drawTime < 0.01 && !data.reloading() ) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && data.bolt.actionTime() == 0) { + if (ClientEventHandler.tacticalSprint && data.bolt.actionTime() == 0) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mosin.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mosin.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java index bf1caf264..4925aafee 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java @@ -16,7 +16,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -73,7 +72,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; var data = GunData.from(stack); - final var tag = data.tag(); if (data.bolt.actionTime() > 0) { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift")); @@ -100,15 +98,14 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; var data = GunData.from(stack); - final var tag = data.tag(); if (player.isSprinting() && player.onGround() - && player.getPersistentData().getDouble("noRun") == 0 + && ClientEventHandler.cantSprint == 0 && !data.reloading() && !data.charging() && ClientEventHandler.drawTime < 0.01 ) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && data.bolt.actionTime() == 0) { + if (ClientEventHandler.tacticalSprint && data.bolt.actionTime() == 0) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java index 4e098083c..089162777 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java @@ -17,7 +17,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; @@ -63,8 +62,8 @@ public class SvdItem extends GunItem implements GeoItem { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.svd.reload_normal")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.svd.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.svd.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java index 606037825..3767c591c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java @@ -22,7 +22,6 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; @@ -68,8 +67,8 @@ public class BocekItem extends GunItem implements GeoItem, SpecialFireWeapon { ItemStack stack = player.getMainHandItem(); if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.bocek.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.bocek.run")); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java index 946569c2c..55116f4a1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java @@ -22,7 +22,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; @@ -97,8 +96,8 @@ public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon, En return event.setAndContinue(RawAnimation.begin().thenPlay("animation.taser.reload")); } - if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) { - if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.taser.run_fast")); } else { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.taser.run"));