Mmc秒杀圈百科 

LevelEntityGetterAdapter

由 朝武芳乃管理员 最后编辑于 2026-10-04 00:58 · 当前版本 v1
标签:技术正经内容forge
你尚未登录。登录后可编辑本页与创建新条目 —— 登录 或 注册账号。

本条基于 Minecraft 1.20.1 + Forge,Mojang 映射名。

LevelEntityGetterAdapter(net.minecraft.world.level.entity.LevelEntityGetterAdapter)是 LevelEntityGetter 接口的原版实现,是外部代码查询“世界里有哪些实体”的统一入口。

与实体储存的关系

  • 本身不存实体,只持有两个引用:visibleEntities(EntityLookup)和 sectionStorage(EntitySectionStorage)。
  • EntityLookup 内部是按 ID 的 Int2ObjectMap 和按 UUID 的 Map,是实体的主表。
  • get(int)、get(UUID)、getAll()、按类型遍历 → 走 visibleEntities。
  • 按 AABB 范围查询 → 走 sectionStorage(按 16³ 区块段分组)。
  • 服务端由 PersistentEntitySectionManager 创建,客户端由 TransientEntitySectionManager 创建,分别通过 ServerLevel / ClientLevel 的 getEntities() 暴露。

所在链路

备注

三条链路都经过它,所以从 EntityLookup 中移除的实体,在指令、实体列表和渲染中都会“消失”;但它不管 tick,tick 由 EntityTickList 单独管理。

你对本条的回应 · 登录后可表态

讨论(0)

讨论不进入条目正文的版本历史,适合提出修改建议、指出问题或补充来源。
还没有人讨论这个条目。你可以提出修改建议、指出问题或补充来源。

发表话题

请先 登录 后再参与讨论。