MyTownUniverse

基本信息

属性 值
类名 mytown.new_datasource.MyTownUniverse
文件 src/main/java/mytown/new_datasource/MyTownUniverse.java
启用版本 Minecraft 1.7.10

功能

内存中的全局实体索引,MyTownUniverse.instance 为单例。数据库是持久层, 而本类是运行时把 Town、Resident、 Nation 等对象常驻内存的容器。

被谁使用

  • Commands 基类 的 getUniverse() 静态访问器
  • Commands 的 populateCompletionMap() 遍历 getUniverse().towns 与 getUniverse().residents 生成 tab 补全
  • Ticker 遍历 MyTownUniverse.instance.residents 逐个 res.tick()

实现要点

  • 城镇与居民列表是公开字段(towns / residents),直接被外部遍历, 不是封装集合 —— 这也是本条目按「数据模型索引」而非「服务」归类的原因。
  • 因为是常驻内存结构,城镇数据的修改最终要经 MyTownDatasource 落库。
  • Ticker 在每个 WorldTickEvent(服务端)里对所有居民调 tick(), 维护在线状态、传送冷却等随时间变化的字段。

相关条目