EntityLookup:查看版本 v1
由 朝武芳乃 于 2026-10-04 01:01 保存 · 1171 字节
''本条基于 Minecraft 1.20.1 + Forge,Mojang 映射名。''
'''EntityLookup<T>'''(<code>net.minecraft.world.level.entity.EntityLookup</code>)是实体真正的主表,[[LevelEntityGetterAdapter]] 的 <code>visibleEntities</code> 就是它。
== 结构 ==
* <code>byId</code>:[[Int2ObjectMap]](<code>Int2ObjectLinkedOpenHashMap</code>),实体 ID → 实体
* <code>byUuid</code>:[[Map]](<code>HashMap</code>),UUID → 实体
* <code>add</code> / <code>remove</code> 同时更新两份索引,由实体管理器的 <code>startTracking</code> / <code>stopTracking</code> 调用(与 [[LevelCallback]] 的 <code>onTrackingStart</code> / <code>onTrackingEnd</code> 同处)。
== 所在链路 ==
* say @e:[[EntitySelector]] 按类型遍历 <code>byId</code>,按 UUID 查 <code>byUuid</code>
* /forge entity list:[[EntityCommand]] 遍历 <code>getAllEntities()</code>
* LevelRenderer:[[LevelRenderer]] 通过 <code>ClientLevel.entitiesForRendering()</code> 遍历 <code>getAllEntities()</code>
== 备注 ==
与 [[EntityTickList]] 是两套独立的容器:这里决定实体能否被查到、被渲染,那里只决定是否被 tick。
其他版本
- v1 · 2026-10-04 01:01 · 朝武芳乃 · 新建条目:实体储存相关类