EntityPhantomSwordBaseEx(:593-617 onUpdate,:254 getRayTrace 内 canEntityBeSeen,doTargeting 同主仓旧版基类)是主仓 #2/#3 修复前基类的拷贝。Not10 等连招一次生成多把,瞄准期每实体每 tick 执行双 raytrace + 30 格实体扫描 + 逐候选视线检测。
代码位置:
调用链: 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 采样占比。
Archive 组织仓已过时(Daniel 2026-09-23),整组织 issue 统一关闭。
No dependencies set.
The note is not visible to the blocked user.
问题描述
EntityPhantomSwordBaseEx(:593-617 onUpdate,:254 getRayTrace 内 canEntityBeSeen,doTargeting 同主仓旧版基类)是主仓 #2/#3 修复前基类的拷贝。Not10 等连招一次生成多把,瞄准期每实体每 tick 执行双 raytrace + 30 格实体扫描 + 逐候选视线检测。
技术分析
代码位置:
调用链:
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 采样占比。
Archive 组织仓已过时(Daniel 2026-09-23),整组织 issue 统一关闭。
[性能][中] EntityPhantomSwordBaseEx 拷贝自主仓未修复版基类:瞄准期每 tick 双 raytrace + 实体扫描 + 逐候选视线检测to EntityPhantomSwordBaseEx 拷贝自主仓未修复版基类:瞄准期每 tick 双 raytrace + 实体扫描 + 逐候选视线检测