From 6616a7286fd5b4867b852c43868bb4144dd4c73d Mon Sep 17 00:00:00 2001 From: Atsuishio <842960157@qq.com> Date: Wed, 16 Jul 2025 00:55:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=8C=E5=90=8E=E7=9A=84=E9=98=9F=E5=8F=8B?= =?UTF-8?q?=E4=B8=80=E5=AE=9A=E4=B8=8D=E8=83=BD=E6=98=BE=E7=A4=BA=E6=A0=87?= =?UTF-8?q?=E8=AF=86=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/client/overlay/VehicleTeamOverlay.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/VehicleTeamOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/VehicleTeamOverlay.java index eb5ca2468..9677bb16c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/VehicleTeamOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/VehicleTeamOverlay.java @@ -105,7 +105,7 @@ public class VehicleTeamOverlay implements LayeredDraw.Layer { if (player.getVehicle() instanceof VehicleEntity) { List entities = SeekTool.getPlayer(player, player.level()); for (var e : entities) { - if (e != null && e != player) { + if (e != null && e != player && calculateAngle(e, camera) < VectorUtil.fov / 2) { Entity team = e; if (e.getVehicle() != null) { team = e.getVehicle(); @@ -120,4 +120,10 @@ public class VehicleTeamOverlay implements LayeredDraw.Layer { } } } + + public static double calculateAngle(Entity entityA, Camera camera) { + Vec3 v1 = camera.getPosition().vectorTo(entityA.position()); + Vec3 v2 = new Vec3(camera.getLookVector()); + return VectorTool.calculateAngle(v1,v2); + } }