From 6c50715d9aaa80e9aadbc60c6ada2ce715b4a8ad Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sat, 5 Jul 2025 13:16:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A3=85=E5=A4=87=E5=BE=AE?= =?UTF-8?q?=E5=9E=8B=E5=AF=BC=E5=BC=B9=E6=83=85=E5=86=B5=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E6=99=BA=E6=85=A7=E8=8A=AF=E7=89=87=E9=94=81=E5=AE=9A=E6=95=88?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../atsuishio/superbwarfare/event/ClientEventHandler.java | 4 +++- .../java/com/atsuishio/superbwarfare/item/gun/GunItem.java | 6 ++++-- .../superbwarfare/item/gun/launcher/SecondaryCataclysm.java | 6 ++++-- .../superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java index 9188ea4dd..f80363046 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java @@ -1499,7 +1499,9 @@ public class ClientEventHandler { Vec3 playerVec = new Vec3(Mth.lerp(event.getPartialTick(), player.xo - 0.1 * player.getViewVector(1).x, player.getX() - 0.1 * player.getViewVector(1).x), Mth.lerp(event.getPartialTick(), player.yo + player.getEyeHeight() - 0.1 * player.getViewVector(1).y, player.getEyeY() - 0.1 * player.getViewVector(1).y), Mth.lerp(event.getPartialTick(), player.zo - 0.1 * player.getViewVector(1).z, player.getZ() - 0.1 * player.getViewVector(1).z)); - Vec3 toVec = RangeTool.calculateFiringSolution(playerVec, targetVec, entity.getDeltaMovement(), data.velocity(), 0.03); + + var hasGravity = data.perk.getLevel(ModPerks.MICRO_MISSILE) <= 0; + Vec3 toVec = RangeTool.calculateFiringSolution(playerVec, targetVec, entity.getDeltaMovement(), data.velocity(), hasGravity ? 0.03 : 0); look(player, toVec); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java index 02aef54cf..737435697 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java @@ -691,11 +691,13 @@ public abstract class GunItem extends Item implements CustomRendererItem, GeoIte if (zoom && !player.isShiftKeyDown()) { Entity target = findEntity(player.level(), String.valueOf(uuid)); - int intelligentChipLevel = GunData.from(stack).perk.getLevel(ModPerks.INTELLIGENT_CHIP); + var gunData = GunData.from(stack); + int intelligentChipLevel = gunData.perk.getLevel(ModPerks.INTELLIGENT_CHIP); if (intelligentChipLevel > 0 && target != null) { Vec3 targetVec = target.getEyePosition(); Vec3 playerVec = player.getEyePosition(); - Vec3 toVec = RangeTool.calculateFiringSolution(playerVec, targetVec, Vec3.ZERO, data.velocity(), 0.03); + var hasGravity = gunData.perk.getLevel(ModPerks.MICRO_MISSILE) <= 0; + Vec3 toVec = RangeTool.calculateFiringSolution(playerVec, targetVec, Vec3.ZERO, data.velocity(), hasGravity ? 0.03 : 0); x = toVec.x; y = toVec.y; z = toVec.z; 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 2cdcb3453..baae0c941 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 @@ -254,11 +254,13 @@ public class SecondaryCataclysm extends GunItem implements EnergyStorageItem { if (zoom && !player.isShiftKeyDown()) { Entity target = findEntity(player.level(), String.valueOf(uuid)); - int intelligentChipLevel = GunData.from(stack).perk.getLevel(ModPerks.INTELLIGENT_CHIP); + var gunData = GunData.from(stack); + int intelligentChipLevel = gunData.perk.getLevel(ModPerks.INTELLIGENT_CHIP); if (intelligentChipLevel > 0 && target != null) { Vec3 targetVec = target.getEyePosition(); Vec3 playerVec = player.getEyePosition(); - Vec3 toVec = RangeTool.calculateFiringSolution(playerVec, targetVec, Vec3.ZERO, (isChargedFire ? 4 : 1) * velocity, 0.05); + var hasGravity = gunData.perk.getLevel(ModPerks.MICRO_MISSILE) <= 0; + Vec3 toVec = RangeTool.calculateFiringSolution(playerVec, targetVec, Vec3.ZERO, (isChargedFire ? 4 : 1) * velocity, hasGravity ? 0.05 : 0); x = toVec.x; y = toVec.y; z = toVec.z; 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 0e2b853d6..07d6583a4 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 @@ -41,7 +41,7 @@ public class HomemadeShotgunItem extends GunItem { } @Override - public int getBarWidth(ItemStack pStack) { + public int getBarWidth(@NotNull ItemStack pStack) { return Math.round(13.0F - (float) pStack.getDamageValue() * 13.0F / (float) this.getMaxDamage(pStack)); }