From 3bd2eb30e2637a262ce0b73581c23968cfd358ea Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 31 Jan 2025 15:33:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=AD=BC=E7=81=AD=E8=80=85?= =?UTF-8?q?=E8=A7=92=E5=BA=A6=E8=A1=A5=E5=81=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/client/overlay/CannonHudOverlay.java | 4 ++-- .../entity/vehicle/AnnihilatorEntity.java | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java index dbab7d5d3..2f7a91870 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java @@ -87,8 +87,8 @@ public class CannonHudOverlay { if (ClientEventHandler.zoomVehicle) { Entity lookingEntity = TraceTool.findLookingEntity(player, 512); boolean lookAtEntity = false; - double blockRange = player.position().distanceTo((Vec3.atLowerCornerOf(player.level().clip( - new ClipContext(new Vec3(player.getX(), player.getEyeY() + 1, player.getZ()), new Vec3(player.getX(), player.getEyeY() + 1, player.getZ()).add(player.getLookAngle().scale(512)), + double blockRange = player.getEyePosition().distanceTo((Vec3.atLowerCornerOf(player.level().clip( + new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(512)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos()))); double entityRange = 0; diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java index 60626857d..808c09e94 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java @@ -59,7 +59,6 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, public static final EntityDataAccessor LASER_LEFT_LENGTH = SynchedEntityData.defineId(AnnihilatorEntity.class, EntityDataSerializers.FLOAT); public static final EntityDataAccessor LASER_MIDDLE_LENGTH = SynchedEntityData.defineId(AnnihilatorEntity.class, EntityDataSerializers.FLOAT); public static final EntityDataAccessor LASER_RIGHT_LENGTH = SynchedEntityData.defineId(AnnihilatorEntity.class, EntityDataSerializers.FLOAT); - public static final EntityDataAccessor OFFSET_ANGLE = SynchedEntityData.defineId(AnnihilatorEntity.class, EntityDataSerializers.FLOAT); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static final float MAX_HEALTH = VehicleConfig.ANNIHILATOR_HP.get(); @@ -83,7 +82,6 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, this.entityData.define(LASER_LEFT_LENGTH, 0f); this.entityData.define(LASER_MIDDLE_LENGTH, 0f); this.entityData.define(LASER_RIGHT_LENGTH, 0f); - this.entityData.define(OFFSET_ANGLE, 0f); } @Override @@ -437,15 +435,15 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, barrelLookAt = new Vec3(lookingAt.getX() - barrelRootPos.x, lookingAt.getEyeY() - barrelRootPos.y, lookingAt.getZ() - barrelRootPos.z); } - this.entityData.set(OFFSET_ANGLE, (float) calculateAngle(entity.getViewVector(1), barrelLookAt)); + float offset = (float) VectorTool.calculateAngle(entity.getViewVector(1), barrelLookAt); float diffY = Math.clamp(-90f, 90f, Mth.wrapDegrees(entity.getYHeadRot() - this.getYRot())); - float diffX = entity.getXRot() - this.entityData.get(OFFSET_ANGLE) - this.getXRot(); + float diffX = entity.getXRot() - offset - this.getXRot(); diffX = diffX * 0.15f; this.setYRot(this.getYRot() + Mth.clamp(0.5f * diffY, -0.6f, 0.6f)); - this.setXRot(Mth.clamp(this.getXRot() + Mth.clamp(diffX, -2f, 2f), -45, 5f + this.entityData.get(OFFSET_ANGLE))); + this.setXRot(Mth.clamp(this.getXRot() + Mth.clamp(diffX, -2f, 2f), -45, 5f)); } public void autoAim() { @@ -482,7 +480,7 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, protected void clampRotation(Entity entity) { float f = Mth.wrapDegrees(entity.getXRot()); - float f1 = Mth.clamp(f, -45.0F, 5f + this.entityData.get(OFFSET_ANGLE)); + float f1 = Mth.clamp(f, -45.0F, 5); entity.xRotO += f1 - f; entity.setXRot(entity.getXRot() + f1 - f); }