Mmc秒杀圈百科 

ServerLevel

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

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

ServerLevel(net.minecraft.server.level.ServerLevel)是服务端的维度对象,每个维度一个实例,持有该维度所有实体相关的容器。

与实体储存的关系

  • entityManager:PersistentEntitySectionManager<Entity>,负责实体的加载、保存与可见性;其 getEntityGetter() 返回 LevelEntityGetterAdapter,即 getEntities() 的返回值。
  • entityTickList:EntityTickList,只决定哪些实体每 tick 被更新。
  • dragonParts:Int2ObjectMap,存多部件实体的子部件(原版只放末影龙部件,Forge 扩展为 PartEntity)。
  • 内部类 EntityCallbacks 实现 LevelCallback,在实体状态变化时同步上述容器。

常用入口

  • getEntities() → LevelEntityGetterAdapter
  • getAllEntities() 即 getEntities().getAll()
  • getEntity(int) / getEntity(UUID)
  • getEntities(EntityTypeTest, Predicate, List, int):供 EntitySelector 使用
  • tick() 中 entityTickList.forEach(...) 驱动实体更新

所在链路

/forge entity list 与 say @e 都从这里取实体;客户端渲染链路(LevelRenderer)对应的是 ClientLevel。

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

讨论(0)

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

发表话题

请先 登录 后再参与讨论。