EntityPhantomSwordBaseEx 拷贝自主仓未修复版基类:瞄准期每 tick 双 raytrace + 实体扫描 + 逐候选视线检测 #2

Closed
opened 2026-09-08 18:47:26 +00:00 by layue13 · 1 comment
Owner

问题描述

EntityPhantomSwordBaseEx(:593-617 onUpdate,:254 getRayTrace 内 canEntityBeSeen,doTargeting 同主仓旧版基类)是主仓 #2/#3 修复前基类的拷贝。Not10 等连招一次生成多把,瞄准期每实体每 tick 执行双 raytrace + 30 格实体扫描 + 逐候选视线检测。

技术分析

代码位置:

  • 文件:src/main/java/Zxsa/mods/zxsa/entity/EntityPhantomSwordBaseEx.java:593-617(onUpdate)、254(getRayTrace)、doTargeting(同 moresa 基类 182-210 结构)

调用链:
onUpdate(每 tick,双侧)
→ doTargeting(无 interval 门控早退)
→ getRayTrace(raytrace)+ 30 格 AABB 实体查询 + 逐候选 canEntityBeSeen

影响规模

与主仓 #2 修复前一致:一次多实体 SA(Not10 连招 4+ 实体)在实体密集区每 tick 数十次实体查询 + 视线 raytrace。

根因分析

重复计算:未同步主仓修复的旧拷贝。

优化方向

移植主仓已修复的 doTargeting(interval 门控 + 选择器预过滤 + 早退)。保持瞄准语义不变。不影响 Forge API/Mod API/存档/网络同步。完全兼容。

验证方案

复现条件:释放 Not10 连招于 100 实体环境,Spark 对比 doTargeting 采样占比。

## 问题描述 EntityPhantomSwordBaseEx(:593-617 onUpdate,:254 getRayTrace 内 canEntityBeSeen,doTargeting 同主仓旧版基类)是主仓 #2/#3 修复前基类的拷贝。Not10 等连招一次生成多把,瞄准期每实体每 tick 执行双 raytrace + 30 格实体扫描 + 逐候选视线检测。 ## 技术分析 代码位置: - 文件:src/main/java/Zxsa/mods/zxsa/entity/EntityPhantomSwordBaseEx.java:593-617(onUpdate)、254(getRayTrace)、doTargeting(同 moresa 基类 182-210 结构) 调用链: onUpdate(每 tick,双侧) → doTargeting(无 interval 门控早退) → getRayTrace(raytrace)+ 30 格 AABB 实体查询 + 逐候选 canEntityBeSeen ## 影响规模 与主仓 #2 修复前一致:一次多实体 SA(Not10 连招 4+ 实体)在实体密集区每 tick 数十次实体查询 + 视线 raytrace。 ## 根因分析 重复计算:未同步主仓修复的旧拷贝。 ## 优化方向 移植主仓已修复的 doTargeting(interval 门控 + 选择器预过滤 + 早退)。保持瞄准语义不变。不影响 Forge API/Mod API/存档/网络同步。完全兼容。 ## 验证方案 复现条件:释放 Not10 连招于 100 实体环境,Spark 对比 doTargeting 采样占比。
Author
Owner

Archive 组织仓已过时(Daniel 2026-09-23),整组织 issue 统一关闭。

Archive 组织仓已过时(Daniel 2026-09-23),整组织 issue 统一关闭。
layue13 added the
type
perf
priority
p2
labels 2026-10-06 21:07:43 +00:00
layue13 changed title from [性能][中] EntityPhantomSwordBaseEx 拷贝自主仓未修复版基类:瞄准期每 tick 双 raytrace + 实体扫描 + 逐候选视线检测 to EntityPhantomSwordBaseEx 拷贝自主仓未修复版基类:瞄准期每 tick 双 raytrace + 实体扫描 + 逐候选视线检测 2026-10-06 21:07:43 +00:00
This repo is archived. You cannot comment on issues.
No labels
priority
p2
type
perf
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Archive/slashblade-zxsa#2