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