4 Commits
Author SHA1 Message Date
layue13 c3284030a3 perf(slashblade-allweapon): 加速弹体命中去重
原因 / Cause:
四类弹体每次实体扫描后都以 ArrayList.removeAll 进行已命中排除,候选与历史命中数增长时成员检查退化为线性。

修复 / Fix:
将仅作成员记录的 alreadyHitEntity 从 ArrayList 替换为 HashSet,保留原有 add、clear、addAll 与 removeAll 调用顺序。

性能收益 / Performance:
实体扫描结果排除已命中目标时,成员检查由线性查找降为均摊常数时间,降低多弹体和多目标场景的去重开销。

兼容性 / Compatibility:
不改变 AABB、selector、攻击顺序、命中冷却或弹体生命周期;集合未被迭代,命中列表的顺序和重复值不参与行为。

验证 / Validation:
Java 25 下执行 Gradle 9.4.0 build --no-daemon --console=plain 成功(test 为 NO-SOURCE)。

Refs #1
2026-09-05 16:12:44 +08:00
layue13 7056eee8db chore: ignore .gradle/ cache dir 2026-07-04 18:05:49 +08:00
layue13 9e84919387 Fix gitignore and add GTNH Convention build files 2026-07-04 15:48:04 +08:00
layue13 be813b7f14 Add GTNH Convention build files and fix .gitignore 2026-07-04 15:44:29 +08:00