Iterable.forEach:查看版本 v1
由 朝武芳乃 于 2026-10-04 01:00 保存 · 1064 字节
''本条基于 Minecraft 1.20.1 + Forge,Mojang 映射名。''
'''Iterable.forEach'''(<code>java.lang.Iterable#forEach(Consumer)</code>)是 Java 8 加入的默认方法,对每个元素执行给定操作。
== 与实体储存的关系 ==
* <code>LevelEntityGetter.getAll()</code> 返回 <code>Iterable<T></code>,实际是 [[EntityLookup]] 中 <code>byId.values()</code> 的只读包装(Guava <code>Iterables.unmodifiableIterable</code>)。
* [[EntityCommand]](/forge entity list)就是用 <code>level.getEntities().getAll().forEach(e -> ...)</code> 统计实体,统计结果完全取决于 <code>byId</code> 里有什么。
* 客户端 [[LevelRenderer]] 对 <code>ClientLevel.entitiesForRendering()</code>(同样是 <code>getAll()</code>)用的是增强 for 循环,走 <code>iterator()</code> 而不是 <code>forEach</code>。
* [[EntityTickList]] 自带的 <code>forEach(Consumer)</code> 只是同名方法,遍历的是 tick 名单。
== 备注 ==
因为是只读包装,不能通过 <code>getAll()</code> 的迭代器删除实体。
其他版本
- v1 · 2026-10-04 01:00 · 朝武芳乃 · 新建条目:实体储存相关类